Redis相关问题有哪些


这篇文章主要介绍了Redis相关问题有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Redis相关问题有哪些文章都会有所收获,下面我们一起来看看吧。概念 –访问一个不存在的key,缓存不起作用,请求会穿透到DB,流量大时DB会挂掉。存在场景系统设计不合理,缓存数据更新不及时爬虫等恶意攻击解决方案采用布隆过滤器,使用一个足够大的bitmap,用于存储可能访问的key,不存在的key直接被过滤若访问 key 在 DB 香港云主机 中不存在,在 Redis 中写入一个空值,设置一个较短的过期时间,避免长期占用内存。概念
大量的key设置了相同的过期时间,导致在缓存在同一时刻全部失效,造成瞬时DB请求量大、压力骤增,引起雪崩。解决方案事前:使用主从复制+哨兵或者Redis集群。事中:本地缓存结合限流和降级。事后:开启持久化配置,实现快速缓存的快速恢复。可以给缓存设置过期时间时加上一个随机值时间,使得每个key的过期时间分布开来,不会集中在同一时刻失效。概念
热点 key 问题,一个存在的key,在缓存过期的一刻,同时有大量的请求,这些请求都会击穿到DB,造成瞬时DB请求量大、压力骤增。解决方案在访问key之前,采用SETNX(set if not exists)来设置另一个短期 key 来锁住当前 key 的访问,访问结束再删除该短期key(互斥锁,同一时刻只允许一个线程去构建缓存,其他线程等待构建完毕后去缓存取)同一时刻只允许一个线程去构建缓存,其他线程等待构建完毕后去缓存取概念当一个数据需要更新时,不可能做到同时更新数据库和缓存,那么此时读取数据的时候就一定会发生数据不一致问题,而数据不一致问题在金融交易领域的系统中是肯定不允许的。解决方案读的时候,先读缓存,缓存没有的话,就读数据库,然后取出数据后放入缓存,同时返回响应。更新的时候,先更新数据库,然后再删除缓存。概念缓存 30G 的数据,但 Redis 本身只支持 10G,则使用缓存淘汰机制,保留最重要的 10个G 数据。Redis 提供的淘汰策略查看 Redis 允许使用的最大内存,属性:server.maxmemory指定数据淘汰算法:maxmemory-policy allkeys-lruLRU和最小TTL算法的样本个数:maxmemory-samples 5volatile-lru:从已设置过期时间的数据集中挑选最近最少使用的数据淘汰volatile-ttl:从已设置过期时间的数据集挑选将要过期的数据淘汰volatile-random:从已设置过期时间的数据集中任意选择数据淘汰allkeys-lru:从数据集中挑选最近最少使用的数据淘汰allkeys-random:从数据集中任意选择数据淘汰no-enviction:内存不足时添加数据会报错关于“Redis相关问题有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Redis相关问题有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注开发云行业资讯频道。

相关推荐: 如何高效利用Bitmap

这篇文章主要介绍“如何高效利用Bitmap”,在日常操作中,相信很多人在如何高效利用Bitmap问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何高效利用Bitmap”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!背景:图片加…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 10/19 16:09
下一篇 10/19 16:40

相关推荐