随笔分类 -  redis

摘要:在学习数据异步或同步删除之前,你首先需要知道,删除操作实际上是包括了两步子操作。 子操作一:将被淘汰的键值对从哈希表中去除,这里的哈希表既可能是设置了过期 key 的哈希表,也可能是全局哈希表。 子操作二:释放被淘汰键值对所占用的内存空间。 也就是说,如果这两个子操作一起做,那么就是同步删除;如果只 阅读全文
posted @ 2023-01-30 11:37 misaka-mikoto 阅读(411) 评论(0) 推荐(1) 编辑
摘要:Redis server 一旦和一个客户端建立连接后,就会在事件驱动框架中注册可读事件,这就对应了客户端的命令请求。而对于整个命令处理的过程来说,我认为主要可以分成四个阶段,它们分别对应了 Redis 源码中的不同函数。这里,我把它们对应的入口函数,也就是它们是从哪个函数开始进行执行的,罗列如下: 阅读全文
posted @ 2023-01-30 10:17 misaka-mikoto 阅读(209) 评论(0) 推荐(0) 编辑
摘要:abstract 使用DPU加速Redis的异步复制,提高吞吐14%,降低时延21%。 introduction 由于redis内存读写很快,传统网络协议栈成为性能瓶颈,因此使用RDMA可以降低通信压力。但是使用RDMA只能卸载简单的操作,比如单边read和write远端内存,但是一些复杂的操作还是 阅读全文
posted @ 2022-11-08 19:59 misaka-mikoto 阅读(156) 评论(0) 推荐(0) 编辑
摘要:pipeline Redis 流水线是一种通过一次发出多个命令而不等待每个单独命令的响应来提高性能的技术。大多数 Redis 客户端都支持流水线。本文档描述了流水线旨在解决的问题以及流水线在 Redis 中的工作原理。 请求/响应协议和往返时间 (RTT) Redis 是使用客户端-服务器模型和所谓 阅读全文
posted @ 2022-11-07 21:15 misaka-mikoto 阅读(462) 评论(0) 推荐(0) 编辑
摘要:Redis集群不能保证强一致性。一些已经向客户端确认写成功的操作,会在某些不确定的情况下丢失。 产生写操作丢失的第一个原因,是因为主从节点之间使用了异步的方式来同步数据。 一个写操作是这样一个流程: 客户端向主节点B发起写的操作 主节点B回应客户端写操作成功 主节点B向它的从节点B1,B2,B3同步 阅读全文
posted @ 2022-11-07 00:05 misaka-mikoto 阅读(297) 评论(0) 推荐(0) 编辑
摘要:Redis持久化提供了多种不同级别的持久化方式: RDB 持久化可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。 AOF 持久化记录服务器执行的所有写操作命令,并在服务器启动时,通过重新执行这些命令来还原数据集。 AOF 文件中的命令全部以 Redis 阅读全文
posted @ 2022-11-06 23:48 misaka-mikoto 阅读(83) 评论(0) 推荐(0) 编辑
摘要:关系 RDB是Redis用来进行持久化的一种方式,在指定的时间间隔内将当前内存中的数据集快照写入磁盘,也就是 Snapshot 快照(数据库中所有键值对数据)。恢复时是将快照文件直接读到内存里。 redis会单独创建(fork)一个子进程进行持久化,会先将数据写入到一个临时文件中,待持久化过程都结束 阅读全文
posted @ 2022-11-06 12:08 misaka-mikoto 阅读(151) 评论(0) 推荐(0) 编辑
摘要:Redis 复制功能是如何工作的 每一个 Redis master 都有一个 replication ID :这是一个较大的伪随机字符串,标记了一个给定的数据集。 每个 master 也持有一个偏移量,master 将自己产生的复制流发送给 slave 时,发送多少个字节的数据,自身的偏移量就会增加 阅读全文
posted @ 2022-11-05 00:01 misaka-mikoto 阅读(119) 评论(0) 推荐(0) 编辑
摘要:Redis是什么 面试官:你先来说下redis是什么吧 我:(这不就是总结下redis的定义和特点嘛)Redis是C语言开发的一个开源的(遵从BSD协议)高性能键值对(key-value)的内存数据库,可以用作数据库、缓存、消息中间件等。它是一种NoSQL(not-only sql,泛指非关系型数据 阅读全文
posted @ 2022-09-02 15:18 misaka-mikoto 阅读(190) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示