redis内存空间满了
redis内存空间满了
inferrrrrr 发表于2年前
redis内存空间满了
  • 发表于 2年前
  • 阅读 862
  • 收藏 9
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: OOM command not allowed when used memory > 'maxmemory'.

今晚产品的动态功能突然出现问题,马上登录ECS查看,发现大量的:OOM command not allowed when used memory > 'maxmemory'.异常。登录到阿里云的管理控制台查看,果然redis内存空间被占满了...在紧急扩容后,动态好用了。

回头检查代码,原本为解决动态按本地+时间排序规则下分页的问题,缓存了最新的8小时内的动态,也就是说8小时内的动态完全是排好序存放在redis中的,采用List结构存储,每次用户进入动态时会更新这部分缓存,用户浏览顺序动态时做lPop操作,这样redis内容会被清空,所以当时没考虑设置超时时间。

但实际的情况是,用户进入动态只查看几条就走了。。。就走了。。根本不足以Pop出所有的数据...于是数据越积越多直到充爆内存。。所以过期时间还是要设置的。设置多少时间合适呢?看了一下友盟,发现产品使用时间基本在1-3分钟(80%),所以暂时先设置超时时间为3分钟试试,通过监控再做合理的调整吧。


共有 人打赏支持
粉丝 22
博文 145
码字总数 1522
×
inferrrrrr
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: