Redis 2.x/4.x/5.x 版本的线程模型是什么样的?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
Redis5.X之前比较知名的版本,模型没有变化过,所有的命令处理都是单线程,所有的读、处理、写都在一个主IO里运行。后台有几个BIO线程,任务主要是关闭文件、刷文件等等。 4.0之后,添加了LAZY_FREE,有些大KEY可以异步的释放,以避免阻塞同步任务处理。而在2.8上会经常会遇到淘汰或过期删除比较大的key时服务会卡顿,所以建议用户使用4.0以上的服务端,避免此类大key删除问题导致的卡顿。
答复内容摘自《Redis最佳实践与实战指南》,这本电子书收录开发者藏经阁 下载连接:https://developer.aliyun.com/topic/download?id=1212