使用 monitor 命令查看 redis 请求日志
monitor日志要實時拿
???? redis 是一個高性能、使用方便的非關系型數據庫,我們在使用 redis 時,基本只需要關注存數據,取數據的功能,即 set,get,非常適合用作緩存服務器,降低后端數據庫壓力。有時,想確認下數據是否是從 redis 里讀的,以及 redis 是怎么取得數據,這時就可以使用 monitor 功能了。
??? 一個典型的功能場景:前臺用戶請求一條數據,后端拿到用戶 id 后,在 redis 緩存中查找該用戶數據,沒有找到,于是從 db 中拿,找到后,返回給前臺,并在 redis 里存放該用戶的數據,下次有請求后,就可以直接從 redis 里拿,返回給前臺,怎么確認數據是從 redis 里取的?當然,如果數據量大,查詢時又沒索引,從數據庫里取,和從 redis 里取的時間消耗是不一樣的。從時間消耗上,就基本可以判斷數據是從哪里取的。但如果數據量不大,無法從時間消耗上判斷,就需要查看 redis 的請求日志,要注意的是,單純從 redis.conf 中配置 logfile,loglevel 選項,是看不到 redis 請求和操作日志的,打印的都是些無關緊要的信息,這時可以用 monitor 命令來完成。
使用方法:
登錄 redis-cli 命令行,輸入monitor,即可進入到 redis 監控模式。
隨后即可看到,當有請求時,redis 具體都做了什么,我們另外打開一個 redis-cli,隨便插入一條數據,比如set "hello" "world",monitor 監控到
redis-monitor
再模擬下上面的那個用戶請求數據的功能場景:
首次運行后,對應到 redis 的監控如下,可以看到,redis 里沒有找到,然后從 mysql 中查找,并做了 set 操作將信息存起來,再次運行后,發現 redis 里存在,因此直接從 redis 里 get 數據。
redis請求日志
可見,monitor 命令可以讓我們清楚的看到 redis 是怎么處理每個請求的,這對于調試階段非常方便。
當然,為了演示,上面只是一個簡單的例子,并沒有考慮連接性能問題,實際上,使用 monitor 是會降低 redis 的性能的,適合開發調試使用。上述例子也沒有考慮數據更新,比如用戶是做一個更新或者刪除操作,則相應的也要把 redis 里的信息也同步更新。
https://xujimmy.com/2017/12/13/redis-request-log.html
來源:https://blog.csdn.net/qq397728312/article/details/86290448
總結
以上是生活随笔為你收集整理的使用 monitor 命令查看 redis 请求日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基金分红后净值下降可以买吗
- 下一篇: redis-查看日志