企业logo设计规范优化疫情政策
redis怎么做到双写一致性呢?
这个是要分情况的 业务要是对一致性要求不是很高的话可以使用延时双删,要强一致的话需要双写一致性。
Redis数据持久化?
redis是有两种数据持久化方式的,一种RDB一种AOF
- rdb是redis数据快照,它是把内存中所有记录保存在磁盘中的。当redis实例出现故障后从磁盘读取快照文件进行数据恢复;
- aof采用的是一种刷盘策略,可以设置everysec每秒进行一次刷盘,记录操作命令,当redis出现故障后,会根据记录的命令重新执行达到数据恢复的效果。
数据过期策略?
有两种 惰性删除和定期删除
- 惰性删除:设置key的过期时间后,不用去管它,等到下次需要这key的时候然后检查是否过期,过期然后进行删除。(如果下次一直不使用key,那么就会一直存在内存中,不会被释放)
- 定期删除:每隔一段时间会对一些key进行检查,删除里边过期的key。
- 一般是惰性删除和定期删除配合使用。
数据淘汰策略
当redis中内存不够用时,再向redis中添加新的key,那么redis就会按照某一种规则将内存中的数据删除掉,就称为内存淘汰策略。
redis支持8种不同策略来选择要删除的key;
- noeviction: 不淘汰任何key,但是内存满时不允许写入新数据(默认就是这种策略);
- volatile-ttl:对设置了过期时间的key,比较key剩余的ttl值,值越小越先被淘汰;
- allkeys-random: 对全体key,随机进行淘汰;
- volatile-random:对设置了过期时间的key,随机进行淘汰;
- allkeys-lru:对全体key基于LRU算法进行淘汰(最少使用时间);
- volatile-lru:对设置了过期时间的key基于LRU算法进行淘汰;
- allkeys-lfu:对全体key基于LFU算法进行淘汰(最少使用频率);
- volatile-lfu:对设置了过期时间的key基于LFU算法进行淘汰;