Redis
LittleLittleKnight
开始了就要坚持下来
展开
-
Redis更新数据加锁
最近做活动页面为了处理并发问题,使用了Redis无序集合来保存用户参与数据,但是测试的时候发现,原本设置了30的总数,结果插入进来了38条数据,所以需要考虑到并发问题。 这里用到了Redis的setnx方法,用来判断锁 setnx用于设置一个KEY-VALUE,这个函数会先判断Redis中是否有这个KEY,如果没有就SET,有就返回False 因此可以这样 /** * 加锁 ...原创 2019-11-07 16:22:43 · 1737 阅读 · 0 评论 -
缓存击穿、缓存穿透和缓存雪崩
缓存击穿 定义: 缓存中的key一般设有过期时间,如果某个key过期了,恰在这个时候,有大量的并发请求访问这个key,则这些请求都会到达DB,导致DB瞬间压力过大,压垮DB。 解决方案: 1.设置互斥锁,mutex。当缓存失效时不时立即去访问数据库,而是使用缓存工具的操作成功带返回值的操作,比如redis的setnx(set if not exit),memcache的ad...转载 2019-05-16 17:43:33 · 110 阅读 · 0 评论