当像 'get' 这样的 redis 命令被执行时到底发生了什么?
What exactly happens when a redis command like 'get' is executed?
我读到,redis 客户端为 get 命令创建了一个字节字符串,并将其传递给处理该命令的服务器。
服务器如何处理命令?以什么顺序调用哪些函数?有人可以详细说明吗?
我觉得如果你对gdb(http://www.cs.cmu.edu/~gilpin/tutorial/)有所了解会更好
你可以在Redis的main函数中打个断点,然后发个get命令看看发生了什么。
一个好主意是你知道 epoll 或 select 或 kqueue。
这篇很棒的文章https://pauladamsmith.com/articles/redis-under-the-hood.html解释了命令的处理过程。该命令被转换为字节串,并发送到服务器队列,服务器队列将其拾取,执行,如果没有传递错误的参数,则附加一个错误标志,并返回 returns 结果。希望这有帮助..
我读到,redis 客户端为 get 命令创建了一个字节字符串,并将其传递给处理该命令的服务器。 服务器如何处理命令?以什么顺序调用哪些函数?有人可以详细说明吗?
我觉得如果你对gdb(http://www.cs.cmu.edu/~gilpin/tutorial/)有所了解会更好
你可以在Redis的main函数中打个断点,然后发个get命令看看发生了什么。
一个好主意是你知道 epoll 或 select 或 kqueue。
这篇很棒的文章https://pauladamsmith.com/articles/redis-under-the-hood.html解释了命令的处理过程。该命令被转换为字节串,并发送到服务器队列,服务器队列将其拾取,执行,如果没有传递错误的参数,则附加一个错误标志,并返回 returns 结果。希望这有帮助..