redis小记

Redis 优势:
性能极高
丰富的数据类型
原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。
单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来

应用场景
session共享,数据库缓存,不同项目可以共享一些常用数据,数据订阅 ,也可以把它当作异步消息暂存区,
也可当作nosql(数据库)来用,还可以当作搜索引擎数据库来用等等.

常见问题

穿透:是指高并发查询一些缓存中没有的数据,使得请求都到数据库中查询使得数据库宕机发生异常;
1.使用互斥锁排队方式:在查询到value的值为空时上锁从数据库中查询完值时再释放锁(分布式锁)

2.使用布隆过滤器:将可能查询的数据用哈希存储到一个足够大的bitMap中,一个一定不存在的值使用布隆算法得到然后
被bitMap给拦截掉(精确度存在一定缺陷);

3.将value的数据缓存,缓存时间设置得短一点;

雪崩:是指缓存中数据在一定时间内失效,造成请求都到数据库中造成数据库异常。

1.使用互斥锁排队方式:在查询到value的值为空时上锁从数据库中查询完值时再释放锁(分布式锁)

2.建立备份缓存,缓存A和缓存B,A缓存设置超时时间B缓存不设置,读取的时候先读取A缓存如果没有再从B缓存读取,
并且更新缓存A和B缓存

3.不同的key在缓存的时候设置超时间加上一个随机的时间,使得超时时间不固定。

1、保持缓存层服务器的高可用。 –监控、集群、哨兵。当一个集群里面有一台服务器有问题,让哨兵踢出去。

2、依赖隔离组件为后端限流并降级。
比如推荐服务中,如果个性化推荐服务不可用,可以降级为热点数据。

3、提前演练。
演练 缓存层crash后,应用以及后端的负载情况以及可能出现的问题。
对此做一些预案设定。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值