Redis内存回收
Redis之所以性能强,最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大,会影响持久化或主从同步性能。
我们可以通过修改配置文件设置Redis的最大内存:
当内存使用达到上限时,就无法存储更多数据了。
过期策略
在学习Redis缓存的时候,可以通过expire命令给Redis的Key设置TTL(存活时间)
可以发现,当key的TTL到期以后,再次访问name返回的是nil,说明这个Key已经不存在了,对应的内存也得到释放,从而起到内存回收的目的。
过期策略——DB结构
Redis本身是一个典型的key-value内存存储数据库,因此所有的Key、value都保存在Dict结构中。不过在其database结构体中,有两个Dict:一个用来记录key-value;另一个用来记录key-TTL