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'}
  • 引入jar包和so文件
    下载地址

3.2 对数据库的操作

  • 创建数据库
    创建一个默认的数据库
DB snappydb = DBFactory.open(context);

 创建一个指定名称的数据库
 

 DB snappydb = DBFactory.open(context, "books");

当然,也可以配置,配置数据库路径和名称

DB snappyDB = new SnappyDB.Builder(context)                    .directory(Environment.getExternalStorageDirectory().getAbsolutePath()) //optional                    .name("books")//optional                    .build();
  • 关闭数据库
snappydb.close();
  • 销毁数据库
snappydb.destroy();

3.3 支持的数据类型

  • string
  • short
  • int
  • long
  • double
  • float
  • boolean
    这8种基础的数据类型。当然,还支持一些复杂的数据类型。
  • serializable
  • object
  • array

3.4 数据的存储

存储

snappyDB.put("name", "quanshijie");

取数据

String quote      = snappyDB.get("name");

3.5 复杂功能

更多的复杂的功能前去qithub

github地址

更多相关文章

  1. “罗永浩抖音首秀”销售数据的可视化大屏是怎么做出来的呢?
  2. Nginx系列教程(三)| 一文带你读懂Nginx的负载均衡
  3. 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
  4. Android蓝牙一篇看懂
  5. Android(安卓)Paging Library 基于RecyclerView的分页加载框架
  6. Android(安卓)中的 adapter
  7. Android(安卓)UI 之 TabLayout动态添加tab实现筛选及自动偏移(全
  8. sqlite实现新闻收藏和取消收藏
  9. Android(安卓)主题切换功能

随机推荐

  1. Android Audio System 之二:AudioFlinger
  2. Android Error: Conversion to Dalvik fo
  3. Android知识储备
  4. Android的一些网上开发资源链接地址
  5. Android实践项目汇报(一)
  6. 第一章 JAVA入门(Android安全模型)
  7. Android 之 ScrollView(垂直滑动)组件
  8. Android(安卓)NDK开发(四) 将FFmpeg移植到A
  9. Android图片下载缓存库picasso解析
  10. Android使用ButterKnife与和风天气sdk