1、数据类型
- string(字符串):最基本的k-v存储 ,适合验证码、配置信息等
- list(列表):适合有序/固定的列表。比如行政区、字典表、消息队列等。
- set(集合):支持交集、并集、差集等操作。可以用来找共同点等。
- hash(哈希):类似于唯一标识,value对应详情。适合存储文章内容、商品内容等详情。
- zset(有序集合):增强版本增加了一个score参数,用来排序,适合排行榜类的数据存储
2、优点
- 速度快。数据存储在内存中,查找和操作的时间复杂度都是O(1)。类似于HashMap
- 多种数据类型,应用场景丰富
- 支持事务特性、所有操作都是原子性
- 支持数据的持久化,可以将数据保存在磁盘中
- 支持主-从模式的数据库备份
- 性能高。读取速度可达到110000次/s;写81000次/秒
- 支持publish/subcribe、通知、key过期特性
3、场景举例
3.1 缓存热点数据
字典表
行政区
用户登录信息
配置信息
3.2 计数器
点赞数
浏览数
3.3 消息队列
建议采用专门的消息中间件会更可靠。
3.4 最新列表
最新文章列表
上架新品列表
3.5 排行榜
文章排名
商品排名
3.6 分布式锁、单线程机制
电商秒杀
全局增量ID
3.7时效信息存储
验证码5分钟失效