缓存
String 类型
例如:热点数据缓存(例如报表,明星出轨),对象缓存,全页缓存。
可以提升热点数据的访问速度。
数据共享分布式
STRING 类型,因为 Redis 是分布式的独立服务,可以在多个应用之间共享
例如:分布式 Session
分布式锁
STRING 类型 setnx 方法,只有不存在时才能添加成功,返回 true。
public Boolean getLock(Object lockObject){
jedisUtil = getJedisConnetion();
boolean flag = jedisUtil.setNX(lockObj, 1);
if(flag){
expire(locakObj,10);
}
return flag;
}
public void releaseLock(Object lockObject){
del(lockObj);
}
全局 ID
INT 类型,INCRBY,利用原子性
incrby userid 1000
(分库分表的场景,一次性拿一段)
计数器
INT 类型,INCR 方法
例如:文章的阅读量,微博点赞数,允许一定的延迟,先写入 Redis 再定时同步到
数据库。
限流
INT 类型,INCR 方法
以访问者的 IP 和其他信息作为 key,访问一次增加一次计数,超过次数则返回 false。