![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
redis
文章平均质量分 76
weixin_57597001
这个作者很懒,什么都没留下…
展开
-
【redis】数据同步:主从库如何实现数据一致
如果redis实例宕机了,在恢复期间,无法服务新来的数据存取请求。redis提供了主从模式,采用读写分离-保证数据副本的一致读操作-主库,从库都可以接收写操作:主库先执行,然后主库将写操作同步给从库。原创 2023-04-03 14:43:37 · 431 阅读 · 0 评论 -
【redis】RBD-内存快照
类似与照片,记录内存中数据在某一时刻的状态。全量快照(为了保证数据的可靠性)生成RDB文件的两个命令:save:在主线程中执行,会导致阻塞bgsave:创建一个子线程,专门用于写入RDB文件,避免主线程的阻塞(默认配置)redis借助操作系统提供的写时复制技术(Copy-On-Write,COW),在执行快照的同时,正常处理写操作。如果主线程要修改一块数据,这块数据就会被复制一份,生成该数据的副本。然后bgsave子进程把这个副本数据写入RDB文件。原创 2023-04-03 14:42:52 · 466 阅读 · 0 评论 -
【redis】AOF日志:宕机了,Redis如何避免数据丢失
(因为AOF日志也是在主线程中执行,如果把日志写入磁盘时,磁盘写压力大,就会导致写盘很慢,进而后续的操作就无法执行)然后,使用两个日志保证在重写过程中,新写入的数据不会丢失。每次重写时,主线程fork后台的bgrewriteaof子线程,并且把主线程内存拷贝一份给bgrewrieaof子线程,然后bgrewrieaof子线程在不影响主线程的状况下,逐一把拷贝的数据携程操作。Everysec,每秒写回:每个写命令执行完,只是先把日志写到 AOF 文件的内存缓冲区,每隔一秒把缓冲区中的内容写入磁盘;原创 2023-04-03 14:39:24 · 479 阅读 · 0 评论 -
【redis】单线程redis为什么这么快
为什么说redis是单线程?redis的网络IO和键值对读写是由一个线程来完成的,这也是redis对外提供键值存储服务的主要流程。原创 2023-04-03 14:38:10 · 701 阅读 · 0 评论 -
【redis】快速的redis中有哪些慢操作
在拷贝数据的时候,redis正常处理客户端请求,每处理一个请求,从hash表1中第一个索引位置,顺带着将这个索引位置上的所有entries拷贝到哈希表2中,等处理下一个请求时,在顺带拷贝哈希表1中的下一个索引位置的entries。用一个哈希表保存所有的键值对,这样做的好处是通过O(1)时间复杂度快速查找到键值对-》我们只需要计算键的哈希值,就可以知道它对应的哈希桶的位置,然后访问相应的entry元素。但是哈希桶中的元素保存的不是值本身,而是指向具体值的指针。redis使用一个hashb表保存所以的键值对。原创 2023-04-03 14:35:28 · 509 阅读 · 0 评论