滁州网站建设czesou网站群建设情况
news/
2025/9/22 22:25:45/
文章来源:
滁州网站建设czesou,网站群建设情况,seo优化托管,建国际网站需要多少钱一、什么是Redis Redis是一种基于内存的数据库#xff0c;对数据的读写操作都是在内存中完成#xff0c;因此读写速度非常快#xff0c;用于存储键值对、缓存、消息队列、分布式锁等。
二、Redis和mencached的区别 相同#xff1a;都是基于内存的数据库#xff0c;读写都…一、什么是Redis Redis是一种基于内存的数据库对数据的读写操作都是在内存中完成因此读写速度非常快用于存储键值对、缓存、消息队列、分布式锁等。
二、Redis和mencached的区别 相同都是基于内存的数据库读写都很快 不同 1.Redis支持的数据类型更丰富string、list、hash、set、zset而mencached只支持string 2.Redis支持数据的持久化可以将内存中数据保存在磁盘中重启的时候可以重新加载使用mencached没有持久化功能 3.Redis原生支持集群模式
三、Redis实现持久化 1.AOF日志Redis在执行完一条写操作命令后把该命令以追加的方式写入到一个文件里面先执行后写入重启Redis时会读取该文件里的命令逐一操作来进行数据恢复 2.AOF重写机制当AOF日志过大时读取每一条键值对最新的操作命令记录到新的AOF文件中。相当于压缩了AOF日志。 3.RDB快照每次执行把内存中所有的数据都记录到磁盘中这样恢复数据的效率会比AOF高些。用save主线程里执行和bgsave命令。 4.混合持久化工作在AOF日志重写的过程。新的AOF文件前半部分是RDB格式的全量数据后半部分是AOF格式的增量数据。重启时由于前半部分是RDB全量数据所以加载速度会很快后半部分的增量数据会使丢失的数据更少。
四、Redis实现服务高可用 1.主从复制主服务器进行读写操作从服务器只进行读操作主服务器将写操作同步到从服务器 2.哨兵模式哨兵群进行监控当主服务器发生故障选举出新的主服务器
五、Redis过期删除策略 1.惰性删除数据库访问key时才检测key是否过期 2.定期删除每隔一段时间随机从数据库中取出一定数量的key进行检查
六、Redis内存淘汰算法 1.LRUleast recently used最近最少使用算法最新操作的键会被移动到表头 2.Redis采用的近似LRU算法在Redis对象结构体中添加一个额外字段来记录此数据的最后一次访问时间使用随机采样的方式淘汰数据
七、Redis的三大缓存问题 1.缓存雪崩大量数据同时过期或Redis故障宕机大量请求直接访问数据库导致数据库压力骤增 解决方法 1均匀设置过期时间 2设置互斥锁。访问到过期数据在对其进行缓存重构时加锁锁要设置超时时间避免阻塞。未能获得互斥锁的要么等待要么返回默认值或空值 3后台更新缓存 4服务器熔断或请求限流 5构建高可用的Redis主从集群 2.缓存击穿频繁被访问的热点数据过期了也会导致大量请求直接访问数据库 解决方法 1互斥锁 2后台更新缓存 3.缓存穿透数据在缓存和数据库里都没有。缓存里找不到-访问数据库-数据库找不到无法重构缓存 解决方法 1限制非法请求 2设置空值或默认值后续请求得到该值后不会继续访问数据库 3使用布隆过滤器位图哈希函数。写入数据库数据时用布隆过滤器做标记缓存失效后去布隆过滤器里快速判断数据是否存在。这样请求只会访问混存和布隆过滤器
八、Redis保证数据库和缓存一致性 先更新数据库再删除缓存。并用以下两种方法异步操作缓存 1.重试机制引入消息队列记录删除缓存的操作。删除缓存失败的话可以从消息队列中读数据重试删除操作 2.订阅MySQL binlog更新数据库的时候产生一条日志记录在binlog里通过订阅binlog日志拿到具体要操作的数据再去删除缓存
参考文档小林coding图解Redis
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/910580.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!