Redis Redis 是高性能的基于内存的 NoSQL 数据库。因为内存是比较宝贵的资源,无法无限制使用,所以 Redis 提供了: 键过期策略 来防止内存饱和。 内存淘汰策略 来使得内存饱和之后继续对外提供服务。 内存过期策略 expire命令 Redis 提供了 expire 命令来给一个键(key)设置过期时间: redis> SET foo "bar" "OK" redis> EXPIRE foo 10 (integer) 1 redis> TTL foo (integer) 10 类似 setex 命令,也可以对目标键设置过期时间,但它其实相当于 set 和 expire 两个命令的原子操作。 expire 只能作用于 Redis 中的键,所以无法对 list 或者 set 中的元素设置过期时间。对某个键调用删除(delete)或者重写(override)的命令如 del , set , getset 之后,会清除键上的过期时间;调用 persist 命令也会清除键上的过期时间;而修改键内容的操作如 incr , hset ,则不会对键的过期时间产生影响。 键的过期原理 Redis 键有两种过期方式:被动方式(passive way)和主动方式(active way)。 被动删除 当某个设置了过期时间的键被访问时,如果发现它已经过期, Redis