Redis
支持的数据类型
Redis
支持的五种数据类型
String
:字符串类型Hash
:哈希,散列表类型List
:列表类型Set
:集合Zset
:有序集合
使用场景
String
类型
String
类型是 Redis
中最常见的数据类型,其使用场景如下
- 缓存:简单的
key-value
存储,可以用于热点数据的缓存、对象缓存、全页缓存、可以提升热点数据的访问数据 - 位统计:在线用户统计,文章访问量,记录每个用户的访问次数。方案:常用键名:
pageview:userid
,如果一个用户的id
为123
,那对应的Redis
的key
就为pageview:123
,value
就为用户的访问次数,增加次数可以使用命令:incr
- 计数器:文章的阅读量、微博点赞数、允许一定的延迟,先写入
Redis
再定时持久化同步到数据库
set key 0
incr key // incr readcount::{
帖子id} 每阅读一次
get key // get readcount::{
帖子id} 获取阅读量
- 分布式全局唯一
id
:分布式全局唯一id
的实现方式有很多,这里只介绍用redis
实现
每次获取userId
的时候,对userId
加1
再获取,可以改进为如下形式
直接获取一段userId
的最大值,缓存到本地慢慢累加,快到了userId
的最大值时,再去获取一段,一个用户服务宕机了,也顶多一小段userId
没有用到
set userId 0
incr usrId // 返回1
incrby