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分钟失效