![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Reids
小炫剑指大厂
主要为应届生提供校招或者实习的经验,以及技术博文。
欢迎关注公众号:小炫剑指大厂
展开
-
Redis客户端 从发送命令到回复的过程
1.发送命令 当我们在客户端输入命令时,客户端会将命令转换协议格式 2.读取命令 服务器收到后,将命令请求保存到客户端状态的输入缓冲区,客户端状态是保存状态信息的,比如客户端连接时间、是否授权、输入缓存区等等。 完成输入后,对输入缓存区进行分析,保存到客户端状态的argv、argc属性当中,其实就是把输入缓存区进行词法分析。 3.查找命令 客户端状态argv是数组,argv[0]保存的是redis的命令,如set。服务器根据set去命令表当中找到set所指向的函数。命令表的结构就是key 是命令原创 2020-06-01 20:02:38 · 1421 阅读 · 0 评论 -
Redis的SDS和c语言字符串的区别
SDS是Redis中的动态字符串。 和c语言字符串不同之处在于,多了两个属性,len和free。 buf用来记录数据,当然和c语言一样一\0结尾。不过,这个\0对于用户来说是通明的,我们不需要加上去,它自动帮我们加。 那这样有什么好处? 1.获取字符串长度从O(n)降低为O(1)。这对了追求速度的Redis来说,是很有用的。 2.不会溢出,c语言中 aa\0bb\0 这是两个字...原创 2020-04-12 20:48:38 · 1272 阅读 · 0 评论