2、Redis 概述
- Redis是一个 开源的key-value存储系统。
- 和 Memcached 类似,它支持存储的value类型相对更多,包括 string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。
- 这些数据类型都 支持push/pop、add/remove及取交集并集和差集及更丰富的操作 ,而且这些 操作都是原子性的 。
- 在此基础上,Redis支持各种不同方式的排序。
- 与memcached一样,为了保证效率, 数据都是缓存在内存中。
- 区别的是 Redis 会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件。
- 并且在此基础上 实现了master-slave(主从)同步。
1、应用场景
1、 配合关系型数据库做高速缓存
- 高频次,热门访问的数据,降低数据库IO
- 分布式架构,做session共享
2、多样的数据结构存储持久化数据
- 通过 List 实现按自然时间排序的数据 -> 最新数据
- 利用 zset 有序集合 -> 排行榜,Top N
- Expire 过期 -> 时效性的数据,比如手机验证码
- 原子性,自增方法 INCR 、 DECR -> 计数器,秒杀
- 利用 Set 集合 -> 去除大量数据中的重复数据
- 利用 list 集合 -> 构建队列
- pub/sub 模式 -> 发布订阅消息系统