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命令也有可能会很耗时。
1. Redis中DEL命令的时间复杂度对于字符串和哈希值而言是O(1),而对于list、set和sorted set而言则是O(N) (这里的 N 是集合中数据项的数目)。所以对于大集合key,DEL命令会很耗时。
2. 在EXISTS命令处理函数中实现了清除过期key的主动策略,会先调用 expireIfNeeded 函数检查要访问的 key 是否过期,如果过期就delete掉这个key。所以对于大集合,EXISTS命令也有可能会很耗时。
相关文章推荐
- Redis EXISTS命令耗时过长case排查
- Redis EXISTS命令耗时过长case排查
- redis del命令支持正则删除(pattern)
- redis del命令支持正则删除(pattern)
- su 执行命令耗时
- Del命令参数 vb调用shell
- Linux命令学习 useradd/userdel
- Redis命令详解
- FireFox意外崩溃时的手工恢复命令
- 批处理命令 - RD 和 DEL
- redis 命令总结
- 远程桌面中如何发送 CTRL+ALT+DEL 命令
- redis 命令集锦
- Redis命令总结
- Redis 命令小结
- 使用DOS中的DEL命令不能删除文件怎么办,错误提示Acess is Denied
- Redis命令总结
- Windows命令之 -- Del 删除指定文件
- redis 命令
- redis-cli 命令总结 web前端