一、redis的key有六种过期策略 1、noeviction:一旦内存满则返回错误 2、allkeys-lru:对所有的key进行LRU 3、volatile-lru:只对设置了过期的key进行LRU(默认的方式) 4、allkeys-random:随机剔除一个key 5、volatile-random:对设置过期的key进行随机剔
一、redis的key有六种过期策略
1、noeviction:一旦内存满则返回错误
2、allkeys-lru:对所有的key进行LRU
3、volatile-lru:只对设置了过期的key进行LRU(默认的方式)
4、allkeys-random:随机剔除一个key
5、volatile-random:对设置过期的key进行随机剔除一个
6、volatile-ttl:删除即将过期的key
根据官网的描述,redis使用的LRU并非真正的LRU算法,精确度并不高。redis3.0版本的LRU会维持一个候选池,性能会更加好。
二、一些内存和过期策略的设置和查看
1、设置实例的内存大小(本地执行可以不用-h $host,单位是B)
redis-cli -h $host -p $port config set maxmemory 1024
sdxShop是一款完全开源免费的网上独立建店系统,asp+access,程序经过专业团队开发升级发展了7年,功能和安全性已经达到非常成熟稳定,安装容易,一分钟就可以搭起专业的电子商务网站。该免费版功能完整永久免费,主要特色功能淘宝数据表导入,实现网店和淘宝网店数据统一,拓展网店经营策略,提供5种在线支付接口等等。
2、获取实例的内存大小
redis-cli -h $host -p $port config get maxmemory
3、设置过期策略
redis-cli -h $host -p $port config set maxmemory-policy volatile-lru
4、查看过期策略
redis-cli -h $host -p 【本文来自鸿网互联 (http://www.68idc.cn)】$port config get maxmemory-policy
说明:测试过volatile-lru,确实在满了之后如果有设置了过期时间的key就会执行LRU,可以继续插入。如果没有设置了过期时间的key了就会报错









