key-value键值型数据库:Redis
redis
Redis是in-memory型(内存型)的键值数据库,数据在磁盘上是持久的,键类型是字符串,值类型是字符串、字符串集合(Set)、sorted set、字符串列表(List)、哈希(Hash)等。 其中,Hash类型是一种字符串为键、字符串为值的键值对集合,类似键值类型都为字符串的Map。
使用场景:
- 数据可全部放入内存
- 频繁访问数据
redis-server使用snapshot(快照)机制进行数据持久化,这种机制是不时地遍历in-memory数据库,把键值写入文件系统,redis-server默认写入当前目录下的dump.rdb文件。除了snapshot,redis-server还支持AOF持久化机制,AOF(append only file),采用记录对数据库操作的记录来实现持久化,只要重新执行记录的命令,就可以还原出整个数据库。
安装
到Redis下载页面,选择对应操作系统的版本,这里选择3.2.8稳定版,下载到本地的文件名是redis-3.2.8.tar.gz,解压文件,生成目录redis-3.2.8,进入目录编译安装:
- tar -xzvf redis-3.2.8.tar.gz #解压
- cd redis-3.2.8
- make #编译
- sudo make install #安装
- redis-server #启动redis服务
操作
提供命令行操作,$ redis-cli
打开redis客户端命令行,redis中文网有对支持命令的描述文档。java api中的方法名称和意义大同redis客户端shell中的命令。
Java api简单访问过程示例:
- val jedis = new redis.clients.jedis.Jedis("localhost")
- jedis.set("key","value"); jedis.get("key");
- jedis.lpush("key","value1","more..."); //列表左边(头部)插入
- jedis.rpush("key","value1","more..."); // 列表右边插入
- jedis.lrange("key",startIndex,endIndex); //从列表取出一定范围的元素,支持负数索引