
精通Redis
文章平均质量分 83
学习总结Redis
上海第一深情Alan
精通java生态圈源码
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Redis性能优化:全网最全的一篇
Redis 的 Hash 适合存储多个字段的对象,当字段较少且值较短时,使用 Hash 可以显著减少内存占用。**使用更紧凑的字符串编码:**Redis 会自动选择适当的字符串编码方式(raw 或 int 编码)。**使用 LZF 压缩 AOF 文件:**如果启用了 AOF(Append Only File)持久化,可以选择使用 LZF 压缩 AOF 文件,减少磁盘和内存的使用。**优化内存分配:**Redis 内部使用 jemalloc 作为内存分配器,可以通过定期优化和整理内存分配来减少内存碎片。原创 2024-08-27 22:41:04 · 4306 阅读 · 0 评论 -
Redis源码浅析二:命令执行
总结:readQueryFromClient 函数负责从客户端 socket 读取请求数据,将其存储在查询缓冲区中,并根据不同的情况进行处理(如命令解析、复制状态更新等)。如果数据读取不完整或发生错误,它会正确处理这些情况,并确保不会由于某个客户端的异常状态影响到整个 Redis 服务器的稳定性。在redis启动的时候,我们还要关注一个重点,在initServer的时候,会执行aeCreateFileEvent,这里我们还有深入学习一下。看到这里基本上就可以了,不再往下追了,原创 2024-08-25 23:15:14 · 593 阅读 · 0 评论 -
Redis源码浅析一:redis启动
当输出缓冲区中仍然有未发送的数据时,Redis 需要确保这些数据能在将来继续发送,为此,Redis 在事件循环中为该客户端的 socket 创建一个 可写事件(AE_WRITABLE)。这个事件表示,当客户端的 socket 变为可写状态(即,socket 缓冲区有足够的空间来接收更多数据)时,Redis 的事件循环会触发相应的事件处理器(sendReplyToClient),继续将剩余的数据发送给客户端。回调函数在事件循环进入休眠等待 I/O 事件之前执行,主要用于处理一些需要在阻塞等待之前完成的任务。原创 2024-08-25 22:27:34 · 540 阅读 · 0 评论 -
Redission源码浅析一:RedissonLock.lock与RedissonLock.tryLock
加锁时,如果没有指定过期时间,则默认过期时间为30s且每隔10s进行锁续期操作。原创 2024-08-25 21:09:34 · 1874 阅读 · 0 评论 -
Lettuce源码二:执行命令
本文主要介绍了使用发送set命令的主要流程和原理:获取基础连接调用set方法(阻塞等待) -> 封装命令 -> 获取指定槽的节点连接 -> 命令缓存到队列末尾 -> 命令编码 -> 发送到tcp缓冲区 ->redis服务端收到请求、处理并返回响应 -> 客户端tcp缓冲区收到响应报文 -> 响应消息解码 -> 从本地队列头部去除缓存命令 -> 响应写入命令对象 -> 返回响应唤醒调用线程。Lettuce 客户端借助命令队列、响应式编程,实现了tcp。原创 2024-08-23 16:47:39 · 1094 阅读 · 0 评论 -
Luttuce源码一:启动并创建连接
最近在看Luttuce的源码,简单记录一下。原创 2024-08-23 15:35:18 · 1180 阅读 · 0 评论 -
全网最透彻的Redis底层数据结构:【自顶向下】
压缩列表的好处和坏处好处:节省内存、利用cpu缓存坏处:当数据量大的时候,分配和拷贝内存都非常消耗性能、还存在连锁更新的恐怖问题3.2之后,统一使用quicklist,quicklist的解决方法是尽量还是使用ziplist来压缩内存,但是尽量控制ziplist的长度,来规避上面说到的连锁更新的问题。但是并没有解决该问题。原创 2024-03-15 13:23:37 · 1063 阅读 · 0 评论 -
全网最简单的redis安装【linux环境】
默认情况下,Redis 只绑定到 127.0.0.1(仅本地访问)。为了让 Redis 支持远程访问,你需要更改其绑定的 IP 地址。要设置 Redis 密码,你需要编辑 Redis 配置文件。默认情况下,这个文件通常位于。为了允许任意远程访问(注意:这可能带来安全风险),你可以将其更改为。首先,更新你的包管理器,并安装 Redis。如果你只想允许特定 IP 地址访问,可以添加这个 IP 地址,如。替换成你想要设置的密码。,则表示 Redis 正在运行。,则表示密码认证配置成功。原创 2024-03-15 13:06:45 · 389 阅读 · 0 评论