持久化存储——Redis简介
2017-02-27 14:38
363 查看
简介
Redis是一个高性能的key-value数据库,与其他的很多key-value数据库不同的是,redis不仅支持简单的键值对类型的存储,还支持其他一系列丰富的数据存储结构,包括:string、hashs、lists、sets、sortedsets,并在这些数据结构类型上定义了一套强大的API。通过定义不同的存储结构,Redis可以很轻松的完成很多其他key-value数据库难以完成的任务,如排序、去重等。
Redis API
Redis支持丰富的数据类型,比如Redis的strings类型实际上就是最基本的key-value形式的数据,一个key对应一个value。
redis.set("name","zhangsan");//设置key-value redis.setex("name",5,"zhangsan");//设置key-value有效期为5s redis.mset("name","zhangsan","age","25");//一次设置多个key-value redis.append("name","zhangsan");//给字符串追加内容 String name=redis.get("name");//根据key获取value List<String> list=redis.mget("name","age");//一次获取多个key
Redis的hashs实际上是一个string类型的field和value的映射表,类似于map,特别适合存储对象。相较于将每个对象序列化后存储,一个对象使用hashs存储将会占用更少的存储空间,并且能够较为方便的存取整个对象。
redis.hset("url","google","www.google.com");1
2
3
1
2
3
Redis的lists是一个链表结构,主要的功能是对元素的push和pop,以及获取某个范围内的值。push和pop操作可以从链表的头部或者尾部插入/删除元素。这使得lists既可以作为栈使用,也可以作为队列使用,其中,操作的key可以理解为链表的名称:
redis.lpush("list","a");//往首部插入元素 redis.rpush("list","a");//往尾部插入元素 redis.lpop("list");//往首部删除元素 redis.rpop("list");//往尾部删除元素 int size=redis.llen("list");//获得list的大小1
2
3
4
5
6
1
2
3
4
5
6
Redis的sets与数据结构的set相似,用来存储一个没有重复元素的集合,对集合的元素可以进行添加和删除的操作,并且能够对所有元素进行枚举。
redis.sadd("setStr","a"); redis.sadd("setStr","b");//给set添加元素 redis.sadd("setStr","c"); redis.sadd("setStr","d"); redis.srem("setStr","c");//从set中移除元素 Set<String> set=redis.smembers("setStr");//枚举set的元素1
2
3
4
5
6
7
8
1
2
3
4
5
6
7
8
Redis的sorted sets是Redis sets的一个升级版本,他在sets的基础之上增加了一个排序的属性,该属性可以在添加元素时执行,sorted sets将根据该属性进行排序,每次新增元素后,sorted sets会重新对顺序进行调整。sorted sets不仅能够通过range正序对set取值,还能够通过range对set进行逆序取值,极大地提高了set操作的灵活性:
redis.zadd("SortSetNum","1","a");//插入sort set,并指定元素的序号 redis.zadd("SortSetNum","2","b"); redis.zadd("SortSetNum","3","c"); redis.zadd("SortSetNum","4","d"); //根据范围取set Set<String> sortset=redis.zrange("SortSetNum",2,4); //根据范围方向取set Set<String> sortset=redis.zrevrange("SortSetNum",2,4);1
2
3
4
5
6
7
8
9
10
11
12
1
2
3
4
5
6
7
8
9
10
11
12
相较于传统的关系型数据库,Redis有更好的读写吞吐能力,能够支撑更高的并发数。而相较于其他的key-value类型的数据库,redis能够提供更为丰富的数据类型的支持,能够更灵活地满足业务需要。Redis能够高效地实现如排序去topN、访问计数器、队列系统、数据排重等业务需要,并且通过对服务器设置为cache-only,还能够提供高性能的缓存服务。相较于memcache来说,在性能差别不大的情况下,他能够支持更为丰富的数据类型。
相关文章推荐
- Redis(超高性能数据库)持久化Key-Value数据存储
- Redis快速入门:Key-Value存储系统简介
- Redis持久化存储(AOF与RDB两种模式)
- Redis(超高性能数据库)持久化Key-Value数据存储
- Redis持久化存储(AOF与RDB两种模式)
- Redis 一个key-value存储系统 简介
- Redis两种存储机制(持久化)的比较
- redis 存储数据结构及持久化方式--rdb 、aof
- 架构设计:系统存储(16)——Redis事件订阅和持久化存储
- 设置redis持久化存储
- Redis实战《红丸出品》1.1 Key-Value存储系统简介
- Redis简介以及数据类型存储
- Redis简介以及数据类型存储
- redis基础简介(八)- redis持久化配置和使用
- redis 持久化rdb aof 简介
- Redis快速入门:Key-Value存储系统简介
- Redis两种存储机制(持久化)的比较
- redis持久化存储
- redis持久化存储
- redis学习-持久化存储rdb和aof的比较