执行像'get'这样的redis命令时会发生什么?

问题描述:

我读到redis客户端为get命令创建了一个字节字符串,并将其传递给处理该命令的服务器。 服务器如何处理命令?按什么顺序调用哪个函数?有人可以精心制作吗?执行像'get'这样的redis命令时会发生什么?

+0

http://redis.io/topics/protocol – 2015-02-10 05:30:54

+0

这里有点古老但仍然非常相关的描述:https://pauladamsmith.com/blog/2011/03/redis_get_set.html – 2015-02-10 08:07:16

+0

来源在github上,易于阅读。这似乎是知道的最佳方式。 – 2015-02-11 00:31:14

这是一篇很好的文章https://pauladamsmith.com/articles/redis-under-the-hood.html,它解释了命令的处理过程。该命令被转换为字节字符串,并被发送到服务器队列,该队列将其拾取,执行,如果传递了错误的参数,则追加错误标志并返回结果。希望这有助于...

我觉得这是更好,如果你知道一些关于GDB(http://www.cs.cmu.edu/~gilpin/tutorial/

您可以在Redis的主函数中添加一个破发点,然后发送GET命令,看看发生了什么。

一个好主意是你知道epoll或select或kqueue。

+0

谢谢。我会随你的意见去的。 – Ridhima 2015-02-10 07:54:21