redis记录

高并发下redis   

一般有

  • 缓存穿透:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。
  • 缓存击穿:key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。
  • 缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统(比如DB)带来很大压力。

 尽量多集群分开,目前大多采取微服务架构,各服务单独部署,对缓存的使用或依赖情况各不相同,若使用统一的redis集群,就会出现,高并发访问,key大量过期,可能A服务的不可预测的redis操作对B服务实时响应造成影响,本来只是后端边缘服务的一点操作引发了前端高并发的服务。

避免大key,redis保存用户session,或一类活动的记录直接使用redis的set list hash 结构  或string 直接保存base64编码的视频,导致key的存储过大,若过多这种key会导致redis 吞吐量下架,在数据过期进行清除时,redis的cpu过高,导致查询延时或中断,还找不到原因。

系统会设置缓存的过期时间,一般会在系统内定义几个时间魔数,设置时直接使用,可以在设置时加下随机数防止 批量过期。

需要查看命中率 ,关注hot key   通过本地缓存或 加后缀等方式 (key_1) 减少单key单台机子的访问量.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值