扫码阅读
手机扫码阅读

深入Redis内幕:通信协议、内存回收与淘汰策略

85 2024-07-18

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:深入Redis内幕:通信协议、内存回收与淘汰策略
文章来源:
springboot葵花宝典
扫码关注公众号
Redis内部机制概述

深入Redis内幕:通信协议、内存回收与淘汰策略

1. RESP协议简介

Redis使用的通信协议为RESP(Redis Serialization Protocol),它通过首字节区分数据类型。RESP协议从Redis 1.2版本引入,并在Redis 6.0版本中升级到RESP3,增加了对更多数据类型的支持以及客户端缓存。

2. Redis通信协议-基于Socket自定义Redis的客户端

利用TCP通信,可以使用Socket模拟Redis客户端与服务端的交互。示例代码展示了一个简单的Redis客户端,如何建立连接、发送请求和关闭资源。

3. Redis内存回收-过期key处理

Redis内存回收策略包括内存过期策略、惰性删除和周期删除。惰性删除在访问key时检查过期并删除,而周期删除则定期抽样检查并删除过期key。周期删除分为SLOW模式和FAST模式,根据不同的规则执行。

4. Redis内存回收-内存淘汰策略

内存淘汰策略是当Redis达到内存上限时,根据设定的规则选择key进行删除。共有8种不同的淘汰策略,包括noeviction、volatile-ttl、allkeys-random、volatile-random、allkeys-lru、volatile-lru、allkeys-lfu、volatile-lfu,它们基于不同的原理对key进行淘汰。

想要了解更多内容?

查看原文:深入Redis内幕:通信协议、内存回收与淘汰策略
文章来源:
springboot葵花宝典
扫码关注公众号