redis 缓存优化

空扰寡人 提交于 2019-12-20 21:03:33

一.  缓存穿透

常见的解决方案有两个

1.数据库不存在的值,在缓存存进一个空值,并添加过期时间。这样的缺点就是会浪费比较多的空间。

2.用布隆过滤器,在访问缓存层和存储层之前,将存在的key用布隆过滤 器提前保存起来,做第一层拦截。如果布隆过滤器判断该key不存在,就不会访问持久层,从而保护了持久层。

 

二.  热点key重建优化

1.设置分布式锁

2.不设置过期时间

 

三 雪崩问题

1.服务端降级

2.redis高可用

 

四.无底洞问题

集群的节点越多,数据越分散。可能会导致一个查询,需要数十个节点的配合,背后可能是数十次网络连接的消耗,大大影响了性能。

解决方案:有四种批量操作方式:串行命令、串行IO、并行IO、hash_tag

 

 

 

 

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!