redis排查读取超时、连接超时

最近公司现网查询速度极慢,原因是因为有一个调度频繁查询产品详情,经理安排进行优化
笔者第一时间想到的是使用缓存,但因为生产环境产品信息量将近上千条热点数据,为防止撑爆服务器内存,考虑到了使用redis缓存。代码实现如下

1、先在详情查询接口添加缓存注解

在这里插入图片描述
2、在所有需要更新缓存信息的地方,添加删除缓存注解
在这里插入图片描述

注意,坑就在这个allEntries注解!
先通过info命令查询发现redis内存占用才1g,而我们线上redis内存有5g多。那么考虑是否是因为某些查询过慢导致的读取超时呢?

慢查询记录数

slowlog len

获取慢查询数量前几条数据

slowlog get n
在这里插入图片描述
发现查询有一个get qryProdDeatil* 的命令查询耗时极慢,速度排行第一.

!!! 至此结果已经出来了,因为@CacheEvict注解
的allEntries属性设置为true,会去删除redis里的整个分区的缓存key(以某一字符串开头),导致模糊匹配,数据未在规定的缓存超时时间返回。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值