Redis
Redis提供诸如字符串、哈希、列表、集合、带有范围查询的有序集合、位图、HyperLogLogs、地理空间索引和流等数据结构。Redis具有内置的复制、Lua脚本、LRU驱逐、事务以及不同级别的磁盘持久性,并通过Redis Sentinel提供高可用性,并通过Redis Cluster实现自动分区。
https://redis.io/docs/data-types/
-
定时失效(TTL):当为一个键设置了过期时间(TTL),Redis会自动在键过期后将其删除。这是最常见的失效策略,适用于需要在固定时间后使键失效的场景。
-
惰性删除:在获取键时,Redis会检查该键是否过期,如果过期则删除。这种策略可能会导致过期键在一段时间内仍然存在于内存中,直到被访问时才会被删除。
-
定期删除:Redis会定期随机检查一些过期键,并删除其中已过期的键。这种策略可以在不频繁检查所有过期键的情况下,保证过期键的及时删除。
-
持久性失效:Redis在写入一个键时,会检查该键是否过期,如果过期则拒绝写入。这种策略可以确保写入的数据不会立即过期。
-
主动清理:通过配置参数
maxmemory-policy
,可以设置Redis在达到内存上限时的清理策略,如LRU(最近最少使用)、LFU(最少使用频率)等,以释放内存空间。