您的位置:首页 > 数据库 > Redis

REDIS中意外的耗时命令-DEL-EXISTS

2017-06-23 18:00 239 查看
在排查Redis耗时的过程中发现大量的EXISTS命令耗时很长。很意外,印象中感觉这个这个命令应该是很快执行完的。随后了解到

1. Redis中DEL命令的时间复杂度对于字符串和哈希值而言是O(1),而对于list、set和sorted set而言则是O(N) (这里的 N 是集合中数据项的数目)。所以对于大集合key,DEL命令会很耗时。

2. 在EXISTS命令处理函数中实现了清除过期key的主动策略,会先调用 expireIfNeeded 函数检查要访问的 key 是否过期,如果过期就delete掉这个key。所以对于大集合,EXISTS命令也有可能会很耗时。

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: