wdcp wordpress,杭州seo联盟,wordpress 插件 卡券,网页基础为什么Redis要给缓存数据设置过期时间#xff1f;
内存是有限的#xff0c;如果缓存中的所有数据都是一直保存#xff0c;很容易OOM
Redis如何判断数据是否过期#xff1f;
通过过期字典来保存数据的过期时间
过期删除策略
Redis采用的是定期删除惰性删除
Redis内存淘…为什么Redis要给缓存数据设置过期时间
内存是有限的如果缓存中的所有数据都是一直保存很容易OOM
Redis如何判断数据是否过期
通过过期字典来保存数据的过期时间
过期删除策略
Redis采用的是定期删除惰性删除
Redis内存淘汰机制
1. noeviction默认不淘汰任何key内存满时不写入新的key。 2. volatile-ttl对设置了TTL的key比较key的剩余TTL值值越小越先被淘汰 3. allkeys-random对所有key进行随机淘汰 4. volatile-random对设置了TTL的key进行随机淘汰 5. allkeys-lru对所有key基于LRU算法进行淘汰 6. volatile-lru对设置了TTL的key基于LRU算法进行淘汰 7. allkeys-lfu对全体key给予LFRU算法进行淘汰 8. volatile-lfu对设置了TTL的key基于LFU算法进行淘汰
怎么保证Redis挂掉之后重启数据可以进行恢复
依赖持久化机制
什么是RDB持久化
实现类似照片记录效果的方式就是把某一时刻的数据和状态以文件的形式写到磁盘上也就是快照。这样一来即使故障宕机快照文件也不会丢失数据的可靠性也就得到了保证。这个快照文件就称为RDB文件(dump.rdb)
什么是AOF持久化
以日志的形式来记录每个写操作将Redis执行过的所有写命令记录下来只许追加文件但不可以改写文件redis启动之初会读取该文件重新构建数据。
Redis4.0对于持久化机制做了什么优化
支持开启混合方式设置 设置aof-use-rdb-preamble的值为 yes 表示开启设置为no表示禁用
RDBAOF的混合方式--------- 结论RDB镜像做全量持久化AOF做增量持久化
先使用RDB进行快照存储然后使用AOF持久化记录所有的写操作当重写策略满足或手动触发重写的时候将最新的数据存储为新的RDB记录。这样的话重启服务的时候会从RDB和AOF两部分恢复数据既保证了数据完整性又提高了恢复数据的性能。简单来说混合持久化方式产生的文件一部分是RDB格式一部分是AOF格式。
如何使用Redis事务
Redis通过MULTI、EXEC、DISCARD、WATCH等命令来实现事务。
Redis事务支持原子性吗
Redis的事务不保证原子性也就是不保证所有指令同时成功或同时失败只有决定是否开始执行全部指令的能力没有执行到一半进行回滚的能力
什么是bigkey有什么危害
对于string类型的value大于等于 10kb 就是bigkey
对于list、hash、set、zset类型超过5000个属于bigkey
危害
1.内存不均
2.超时删除
3.网络流量阻塞
如何发现bigkey
使用--bigkeys参数查找或者分析RDB文件
如何避免大量key集中过期
1.给key设置随机过期时间
2.开启lazy-free惰性删除