Redis性能之所以这么强,最主要的原因就是基于内存存储。而单节点的Redis其内存大小不宜过大,否则会影响持久化或主从同步的性能。
我们可以通过修改redis.conf配置文件来设置Redis的最大内存。
maxmemory <bytes>
当Redis内存使用达到上限时,就无法存储更多数据了。为了解决这个问题,Redis为我们提供了一些策略来实现内存回收:内存过期策略、内存淘汰策略。
1.Redis内存过期策略
在Redis基础阶段,我们学习了TTL命令和EXPIRE命令,下面我们先来回顾下这两个命令的基本使用。
1.1 TTL
命令TTL key
用于检查key还剩多长时间过期,以秒为单位。当键没有设置过期时间,表示是永久有效时,TTL命令返回-1;当键过期或者被删除时,TTL命令返回-2。
127.0.0.1:6379> set username "Tom"
OK
127.0.0.1:6379> ttl username
(integer) -1 # 返回-1表示永不过期
127.0.0.1:6379> tt