一、背景
redis慢日志分析平台上线后,随便看了一下,发现onestore使用的缓存集群,存在大量的EXISTS命令慢查询的情况:
平均每个EXISTS命令需要13ms,最大耗时近20ms。这个结果很不科学啊,EXISTS命令只是执行一次hash查找操作,应该是us级别。
和相关同学了解业务背景如下:
- 业务是userfeed,存放用户发表的动态
- 使用zset存储一个用户发表的所有动态,key是用户id,集合中对应的是feedid。如果用户发表的动态很多,zset也很大
- redis集群作为onestore的缓存,过期时间是10分钟