问题:
工作中如何使用redis,应该申请多大容量?redis 是否有容量限制? 容量溢出怎么办?
背景:
maxmemory配置指令用于配置Redis存储数据时指定限制的内存大小。通过redis.conf可以设置该指令,或者之后使用CONFIG SET命令来进行运行时配置。
例如:配置内存限制100mb,以下指令配置redis.conf文件中。
maxmemory 100mb
设置maxmemory为0代表没有内存限制。对于64位的系统这是个默认值,对于32位的系统默认内存限制为3GB。
当指定的内存限制大小达到时,需要选择不同的行为,也就是策略(内存淘汰)。 Redis可以只返回命令错误,这可能会导致更多的内存被使用,或者回收一些旧的数据来使得添加数据时可以避免内存限制。
知识点梳理:
策略2,最常使用(推荐)。
策略4,5,6 如果没有 expire的keys 会走默认策略1.
解答:
不建议直接把redis作为
ps:
lz 早起的公司redis是集群的(黑盒),开发和运维同学分割的比较清晰;所以,刚开始使用redis不能感受容量等配置概念(包括MySQL)。so大家要多锻炼技术太落后的公司不宜呆太久。
参考redis官方文档:
en: https://redis.io/topics/lru-cache
cn: http://www.redis.cn/topics/lru-cache.html