缓存过期的剔除可以由以下几种策略:
- LRU(Least Recently Used):当缓存满时,优先删除最近最少使用的数据。
- FIFO(First In First Out):当缓存满时,优先删除最早进入缓存的数据。
- LFU(Least Frequently Used):当缓存满时,优先删除在一段时间内使用频率最低的数据。
在Redis中,还有一种称为"TTL" (Time To Live) 的过期策略,可以设置每个key的过期时间,超过这个时间后,数据会被自动删除。
关于RDB和AOF,它们是Redis的两种数据持久化方法:
- RDB:RDB是Redis Database的缩写。RDB通过在指定的时间间隔内生成数据集的快照来持久化数据。这种方式适用于对数据恢复要求不是特别严格的场合,因为如果Redis意外宕机,最近一次快照后的所有数据都会丢失。
- AOF:AOF是Append Only File的缩写。AOF通过记录服务器接收到的所有写操作命令来实现数据持久化。这些命令以Redis协议追加保存在文件的末尾。当Redis重启时,会通过重新执行保存在AOF文件中的所有写命令来恢复数据。AOF的恢复效果更好,但由于需要记录更多的操作指令,所以相对于RDB,AOF可能会消耗更多的磁盘空间和更长的恢复时间。两种持久化策略各有利弊,实际使用中可以根据需求进行选择,甚至可以同时使用,达到最优的数据持久化效果。