我讀到redis客戶端爲get命令創建了一個字節字符串,並將其傳遞給處理該命令的服務器。 服務器如何處理命令?按什麼順序調用哪個函數?有人可以精心製作嗎?執行像'get'這樣的redis命令時會發生什麼?
0
A
回答
1
這是一篇很好的文章https://pauladamsmith.com/articles/redis-under-the-hood.html,它解釋了命令的處理過程。該命令被轉換爲字節字符串,並被髮送到服務器隊列,該隊列將其拾取,執行,如果傳遞了錯誤的參數,則追加錯誤標誌並返回結果。希望這有助於...
1
我覺得這是更好,如果你知道一些關於GDB(http://www.cs.cmu.edu/~gilpin/tutorial/)
您可以在Redis的主函數中添加一個破發點,然後發送GET命令,看看發生了什麼。
一個好主意是你知道epoll或select或kqueue。
+0
謝謝。我會隨你的意見去的。 – Ridhima 2015-02-10 07:54:21
相關問題
- 1. 當redis重載時會發生什麼?
- 2. reduceByKey在執行時會發生什麼?
- 3. 當我運行下面的命令時會發生什麼?
- 4. 當我使用'。'執行一個unix shell腳本時會發生什麼?命令?
- 5. 爲什麼Q.all像這樣執行?
- 6. 爲什麼我不能運行CMD命令對於像這樣:
- 7. Eclipse - 執行命令行發生異常,沒有這樣的文件或目錄
- 8. 像這樣「循環」postDelayed()會發生什麼問題嗎?
- 9. 當我這樣做時,什麼都沒有發生:python manage.py命令
- 10. 執行後TimerTask會發生什麼?
- 11. 執行Redis的eval命令中的NodeJS
- 12. 在執行命令後,double-dash會執行什麼操作?
- 13. 這個命令是什麼意思,什麼函數執行?
- 14. 執行JSP頁面時可能會發生什麼樣的問題?
- 15. 爲什麼archlinux的uname命令會這樣顯示?
- 16. 客戶正在執行時發生中斷時會發生什麼?
- 17. 當你運行這個sql命令時,sql server上發生了什麼
- 18. 在Node.js中執行REDIS命令
- 19. 執行HDMan命令時發生致命錯誤
- 20. 當我在sqlite命令行shell中使用varchar(10)時會發生什麼?
- 21. 當System.exit(0)執行時會發生什麼?
- 22. 節點Redis命令不會運行?
- 23. 在命令行中執行SoapUI測試時發生錯誤
- 24. 發生故障時會發生什麼?
- 25. 什麼時候會發生?
- 26. 當發生javascript運行時錯誤時會發生什麼?
- 27. 爲什麼jQuery的行爲像這樣
- 28. 在go編譯器中使用run命令時,可執行文件會發生什麼變化?
- 29. 爲什麼不執行系統命令?
- 30. Emacs:現在執行什麼命令
http://redis.io/topics/protocol – 2015-02-10 05:30:54
這裏有點古老但仍然非常相關的描述:https://pauladamsmith.com/blog/2011/03/redis_get_set.html – 2015-02-10 08:07:16
來源在github上,易於閱讀。這似乎是知道的最佳方式。 – 2015-02-11 00:31:14