徐二七 2018-05-15
https://blog.csdn.net/qq_21430549/article/details/50864502
1.前言
在以前的博客当中,有提到数据缓存的方案,那么问题来了,我们难以避免的使用数据库去缓存数据。但是,存在一个问题,速度。当我使用数据库去缓存的时候,明显存在UI卡顿。这时,SnappyDB出场了。
2.NoSql是什么?
NoSql泛指非关系型数据库。有以下四大分类。
键值(key-value) 存储数据库
列存储数据库
文档型 数据库
图形数据库
我今天要介绍的是键值存储数据库。
3.基本使用
3.1引入
在gradle中引入
dependencies{
compile'com.snappydb:snappydb-lib:0.5.2'
compile'com.esotericsoftware.kryo:kryo:2.24.0'
}
1
2
3
4
引入jar包和so文件
下载地址
3.2对数据库的操作
创建数据库
创建一个默认的数据库
DBsnappydb=DBFactory.open(context);
1
创建一个指定名称的数据库
DBsnappydb=DBFactory.open(context,"books");
1
当然,也可以配置,配置数据库路径和名称
DB snappyDB = new SnappyDB.Builder(context) .directory(Environment.getExternalStorageDirectory().getAbsolutePath()) //optional .name("books")//optional .build();1
关闭数据库
snappydb.close();
1
销毁数据库
snappydb.destroy();
1
3.3支持的数据类型
string
short
int
long
double
float
boolean
这8种基础的数据类型。当然,还支持一些复杂的数据类型。
serializable
object
array
3.4数据的存储
存储
snappyDB.put("name", "quanshijie");
1
取数据
Stringquote=snappyDB.get("name");
1
3.5复杂功能
更多的复杂的功能前去qithub
github地址