Reids
小炫剑指大厂
主要为应届生提供校招或者实习的经验,以及技术博文。
欢迎关注公众号:小炫剑指大厂
展开
-
Redis客户端 从发送命令到回复的过程
1.发送命令当我们在客户端输入命令时,客户端会将命令转换协议格式2.读取命令服务器收到后,将命令请求保存到客户端状态的输入缓冲区,客户端状态是保存状态信息的,比如客户端连接时间、是否授权、输入缓存区等等。完成输入后,对输入缓存区进行分析,保存到客户端状态的argv、argc属性当中,其实就是把输入缓存区进行词法分析。3.查找命令客户端状态argv是数组,argv[0]保存的是redis的命令,如set。服务器根据set去命令表当中找到set所指向的函数。命令表的结构就是key 是命令原创 2020-06-01 20:02:38 · 1441 阅读 · 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 · 1311 阅读 · 0 评论