当Redis内存用尽时会做何处理?

如果你打开虚拟内存功能,当内存用尽时, Redis就会把那些不经常使用的数据存储到磁盘。
如果Redis里的虚拟内存被禁了,他就会用上操作系统的虚拟内存(交换内存),同时性能急剧下降。
你可以配置maxmemory参数,来避免Redis默认再分配更多的内存。

在较新版本的Redis配置文件中使用了特别的设置选项,当我需要回收内存的时候。
有5种选项规则:

  • volatile-lru:在使用了过期设置的集合中,尝试删除一个最近没在用的键。
  • volatile-tt:在使用了过期设置的集合中,尝试删除一个有较短expire时间的键。
  • volatile-random:在使用了过期设置的集合中随机删除一个键。
  • allkeys-lru:跟volatile-lru类似,但它会将每一种类型键都移除,不管是有效还是过期的只要设置了过期时间。
  • allkeys-random:跟volatile-random类似,但它会将每一种类型键都移除,不管是有效还是过期的只要设置了过期时间。

参考文档:
http://antirez.com/post/redis-as-LRU-cache.html
http://eli.thegreenplace.net/2009/10/30/handling-out-of-memory-conditions-in-c/

转载于:https://my.oschina.net/jamesview/blog/2254837

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值