跟着Redis入门指南学习
第四章 进阶----缓存
为了提高网站的负载能力,常常需要将一些访问频率较高但是对cpu或io资源消耗较大的操作的结果缓存起来,并希望让这些缓存过一段时间自动过期。
如果大量地使用缓存健且生存时间设置得过长就会导致redis占满内存;另一方面如果为了防止redis占用内存过大而将缓存健的生存时间设得太短,就可以呢过导致缓存命中率过低并且大量内存白白地闲置。实际开发中会发现很难为缓存设置合理的生存时间,为此可以限制redis能够使用的最大内存,并让redis按照一定的规则淘汰不需要的缓存健,这种方式在只将redis用作缓存系统时非常实用。
具体的设置方法为:修改配置文件的maxmemory参数,限制redis最大可用内存大小(单位是字节),当超出了这个限制时redis会依据maxmemory-policy参数指定的策略来删除不需要的健,直到redis占用的内存小于指定内存。
redis支持的淘汰健的规则:
规则 | 说明 |
volatile-lru | 使用lru算法删除一个健(只对设置了生存时间的健) |
allkeys-lru | 使用lru算法删除一个健 |
volatile-random | 随机删除一个健(只对设置了生存时间的健) |
allkeys-random | 随机删除一个健 |
volatile-ttl | 删除生存时间最近的一个健 |
noeviction | 不删除健,只返回错误 |