redis当做LRU算法使用
LRU即最近最少使用,是一种常用的缓存淘汰算法;最近一段时间最少使用的优先被淘汰掉,给新来的数据提供存储空间。
内存大小的配置:
在redis中可以redis.conf配置文件来指定限制内存大小,maxmemory分配最大可用内存,为0代表没有内存限制;或者之后用config set命令来限制。
回收策略:
noeviction:返回错误当内存限制达到并且客户端尝试执行会让更多内存被使用的命令(大部分的写入指令,但DEL和几个例外)
allkeys-lru: 尝试回收最少使用的键(LRU),使得新添加的数据有空间存放。
volatile-lru: 尝试回收最少使用的键(LRU),但仅限于在过期集合的键,使得新添加的数据有空间存放。
allkeys-random: 回收随机的键使得新添加的数据有空间存放。
volatile-random: 回收随机的键使得新添加的数据有空间存放,但仅限于在过期集合的键。
volatile-ttl: 回收在过期集合的键,并且优先回收存活时间(TTL)较短的键,使得新添加的数据有空间存放。
LFU (Least frequently used) 最不经常使用,如果一个数据在最近一段时间内使用次数很少,那么在将来一段时间内被使用的可能性也很小。