1. 程式人生 > >redis-cli中那些或許我們還不知道的一些實用小功能

redis-cli中那些或許我們還不知道的一些實用小功能

玩過redis的朋友都知道,redis中有一個叫做redis-cli的小工具,我們可以利用它在test和develop環境下進行高效的模擬測試,然而在現實環境中,

我們只知道直接鍵入redis-cli啟動命令的互動式,而這個對redis-cli來說絕對是九牛一毛,下面我逐一給大家演示下。

一:非REPL (Read Eval Print Loop) 模式

     通常我們都是使用REPL模式,就是連線上埠之後,發一條request再等待response這樣一個loop的形式,如下所示:

[[email protected] Desktop]# redis-cli -h 192.168.1.216
192.168.1.216:6379> set username jack
OK
192.168.1.216:6379> set password 12345
OK 192.168.1.216:6379>

其實我還可以直接在命令列中使用redis-cli再配合各種附加引數,效果和上面圖示是一模一樣的,比如下面這樣:

[[email protected] Desktop]# redis-cli -h 192.168.1.216 set username jack
OK
[[email protected] Desktop]# redis-cli -h 192.168.1.216 set password 12345
OK
[[email protected] Desktop]# 

看到沒有,這樣也是可以的,是不是有點意思哈~~~

二:從本地檔案中執行命令匯入

     乍一看還是挺酷的,就是可以把本地檔案中的一組redis命令直接匯入到redis-cli中執行,這樣也就免去了一行一行的去鍵入了,對不對,工作量可以

大大的減輕,比如下面這樣:

1. 首先找一個目錄,這裡就選擇/usr/, 下面新建一個txt檔案,命令還是非常的簡單,執行兩個set操作。

然後我們用 < 命令匯入就可以了,這裡126的ip是本地區域網內的一臺虛擬機器,是不是有點像pipeline管道操作,牛逼吧~~~ 如下所示:

[[email protected] Desktop]# redis-cli -h 192.168.1.216
< /usr/1.txt OK OK [[email protected] Desktop]#

三:對指定redis命令重複呼叫

  對指定的redis命令進行重複呼叫,乍一看也沒什麼用處,但是如果你呼叫info命令會是咋樣的呢??? 你肯定會想到,我操,監控對不對???好吧,

猜對了,命令格式如下:

redis-cli -r <count> and -i <delay> command

其中-r 是repeat的次數,-i是delay的sencond的秒數,那接下來我演示一下啊,呼叫info命令10次,每次延遲1s,如下所示:

[[email protected] Desktop]# redis-cli -h 192.168.1.216 -r 10 -i 1 INFO
# Server
redis_version:3.2.4
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:fc9ad9a14d3a0fb5
redis_mode:standalone
os:Linux 3.10.0-327.el7.x86_64 x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.5
process_id:6171
run_id:8d1d5cffbf81e31c6c6e0bd144186e9df9fea482
tcp_port:6379
uptime_in_seconds:3536932
uptime_in_days:40
hz:10
lru_clock:5049094
executable:/etc/redis/redis-server
config_file:/etc/redis/6379.conf

# Clients
connected_clients:7
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:1295512
used_memory_human:1.24M
used_memory_rss:10395648
used_memory_rss_human:9.91M
used_memory_peak:35199336
used_memory_peak_human:33.57M
total_system_memory:2099109888
total_system_memory_human:1.95G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:8.02
mem_allocator:jemalloc-4.0.3

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1481443658
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
aof_enabled:0
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
...

可以看到,命令一下子就刷出來了很多,有點眼花繚亂,一般來說我只關注的是used_memory_human欄位,也就僅僅需要知道當然redis佔用了多少記憶體

就完事了,所以這裡我需要grep一下:

[[email protected] Desktop]# redis-cli -h 192.168.1.216 -r 10 -i 1 INFO | grep used_memory_human
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
used_memory_human:1.24M
[[email protected] Desktop]# 

可以清楚的看到,當前memory_human佔用1.24M對吧。。。是不是有一種監控的效果呢?

四:--stat完整版監控

   其實上面的這個監控還僅僅算是一個極簡的版本,可能不能滿足有些朋友的需求,比如你就看不到當前的redis中有多少的keys,有多少的clients,有多少

被blocked,有多少requests等等資訊,如果這些都有了,是不是有點像mongodb中的mongostats呢?哈哈,下面我就迫不及待的給大家來演示一下吧,

非常的簡單。。。

[[email protected] Desktop]# redis-cli -h 192.168.1.216 --stat
------- data ------ --------------------- load -------------------- - child -
keys       mem      clients blocked requests            connections          
27         1.24M    7       0       1198768 (+0)        2206        
27         1.24M    7       0       1198769 (+1)        2206        
27         1.24M    7       0       1198770 (+1)        2206        
27         1.24M    7       0       1198771 (+1)        2206        
27         1.24M    7       0       1198772 (+1)        2206        
27         1.24M    7       0       1198773 (+1)        2206        
27         1.24M    7       0       1198774 (+1)        2206        
27         1.24M    7       0       1198775 (+1)        2206        
27         1.24M    7       0       1198776 (+1)        2206        
27         1.24M    7       0       1198777 (+1)        2206        
27         1.24M    7       0       1198778 (+1)        2206        
27         1.24M    7       0       1198779 (+1)        2206        
27         1.24M    7       0       1198780 (+1)        2206        
27         1.27M    7       0       1198782 (+2)        2206        
27         1.24M    7       0       1198783 (+1)        2206        
27         1.24M    7       0       1198784 (+1)        2206        
27         1.24M    7       0       1198785 (+1)        2206

看到沒有,是不是非常的牛逼,一目瞭然。

好了,更多的好功能,等待大家去挖掘吧,希望本篇對大家有幫助~~~

相關推薦

redis-cli那些或許我們知道一些實用功能

玩過redis的朋友都知道,redis中有一個叫做redis-cli的小工具,我們可以利用它在test和develop環境下進行高效的模擬測試,然而在現實環境中, 我們只知道直接鍵入redis-cli啟動命令的互動式,而這個對redis-cli來說絕對是九牛一毛,下面我逐一給

關於 fir.im 你可能知道實用工具

大家可能都知道 fir.im 是做測試發包的,上傳你的 IPA/APK, 測試使用者可以通過一個短連結和二維碼就可快速安裝測試。 除了基本的發包功能即應用上傳下載外, fir.im 還為提高發包體驗提供了一系列實用工具。 自動獲取 UDID ,別再為

如果你知道如何控制springbootbean的載入順序,那你一定要看此篇

## 1.為什麼需要控制載入順序 `springboot`遵從約定大於配置的原則,極大程度的解決了配置繁瑣的問題。在此基礎上,又提供了spi機制,用`spring.factories`可以完成一個小元件的自動裝配功能。 在一般業務場景,可能你不大關心一個bean是如何被註冊進spring容器的。只需要把需

可能你知道 一款非常牛的國產6AT變速箱要上市了

上海車展 技術發展 設定 並且 執行 但是 最大 很大的 華納 中國汽車產業尤其是汽車零部件產業已經進入“深度國產替代”的新階段,由此前的整車裝配、內外飾基礎零件、核心零件合資模式過渡到高壁壘核心零部件的深度國產化,國內自主廠商渠道外資或合資企業。 變速器是汽車動力總成的

知道微信點餐程序怎麽弄嗎?

微信點餐小程序 微信點餐系統 “微信小程序點餐系統”它有什麽優勢?能給餐飲商家帶來什麽效益? 1、顧客下單後,訂單直接同步至後廚,省去溝通成本,控制出錯率,降低用餐高峰期餐廳服務壓力。 2.非高峰期,顧客在入座後,亦可輕松掃桌上二維碼,直接點餐下單,從而節

蘑菇加一物,賽過神仙藥!你竟然知道

自由 strong bold 中毒 不知道 tex 5.5 size 很好 蘑菇加一物,賽過神仙藥!你竟然還不知道? 2016-03-30 導讀坊間有一種說法,叫“吃四條腿的不如吃兩條腿的,吃兩條腿的不如吃一條腿的”。這一條腿指的就是菌菇類。那麽美味的

野山參新零售你知道怎麽回事嗎?

房地產開發 產品 開發 國際貿易 聯合 地產 查詢 社會 零售 野山參為你繪制一片藍圖!野山參在2000多年前的《神農本草經》中就有記載,“主補五臟,安精神,定魂魄,止驚悸,除邪氣,明目,開心益智,久服輕身延年”,更在《本草綱目》中被李時珍稱為“神草”,而在現代生活中,野山

html你可能知道一些知識點

知識點 world for 容易 att aud mas ref shuff http://www.cnblogs.com/ruanmou/p/4821894.html html你可能還不知道的一些知識點 一、標簽語義化 html標簽語義化是讓大家直觀的認識標簽和屬

python 是大全的問題

world 字符轉換 div real creat tps hello == -a 1.pythone 獲取系統時間 import datetime nowTime=datetime.datetime.now().strftime(‘%Y-%m-%d %H:%M:%S‘)

用了這麽多年Linux,這些命令使用技巧也許你知道

shadow AC line 換行符 4.3 star exec HA 轉發 在Unix/Linux下,高效工作方式不是操作圖形頁面,而是命令行操作,命令行意味著更容易自動化。使用過Linux系統的朋友應該都知道它的命令行強大之處。話說回來了,以下這些命令使用技巧你又知道多

用了這麽久Linux,這些使用技巧你可能知道

sed notify 命令 read line onf itl too 小數點 浮點數 上周與大家分享了30個Linux使用技巧,但是還不夠!今天又總結了一些,在學習Linux的路上希望能幫到你。上篇:《30個必知的Linux命令技巧,你都掌握了嗎?》 31、監控目錄,新

實用的雲端數據保障措施,60%的用戶居然知道

雲計 安全 雲計算 快速 賠償 備份 7月 用戶數 還需 7月的騰訊雲丟失用戶數據被要求賠償我的事假鬧得沸沸揚揚。在雲端,總會有意外發生,這個是不可控的,雲商既然是雲服務提供商便有義務最大限度上保障用戶在雲端的數據安全;但同時用戶也該對自己的數據進行雲端容災備份,然而很多用

知道HCIE是什麽?快來參加金信潤天武漢hcie認證

不可 互聯 怎樣 驕傲 方向 big 這樣的 雲計 分享圖片 每當在朋友圈發一些關於HCIE的話題時    總有小夥伴跑過來問小天    “啥是HCIE啊?”    這時候小天都會略顯驕傲地告訴他:    HCIE全稱:Huawei Certified Internetwo

想學java知道這些怎麼行?

網際網路發展瞬息萬變,程式設計師就是用一行行程式碼改變世界,設想你做的app被大家喜愛,你做的網站深受大家親睞的時候,那種成就感自然是不言而喻的。本文達妹就為大家總結在學習IT技術前,程式設計師不得不掌握的技能,希望對你有幫助: 1、你能吃苦嗎? 為什麼這麼問?很簡單,996大家聽過吧,這是網際

你發郵件出去的時候!你的電腦洩露了這些東西?你知道吧?

  你是否需要每天使用電子郵件服務? 電子郵件(email)是網際網路上歷史悠久又常用的訊息收發形式。對於大多數辦公室一族,每天到班上的第一件事恐怕就是要查一下新的郵件。雖然即時通訊工具在飛速佔領著通訊市場,但是在商業或者學術圈裡,email依然佔據著主流地位。 &

這次雙11你可能已經成為首批IPv6使用者,知道

2018天貓雙11以2135億的成交額創下了新的記錄,新紀錄的背後大家可能沒有意識到,你可能已經悄然成為首批網際網路IPv6使用者。今年天貓雙11期間全面支援IPv6,這是IPv6在國內網際網路領域首次大規模實踐,覆蓋了網購、視訊直播、位置服務等眾多大流量、高併發場景。 就和每個建築都有自己的地址一樣

知道的大神級辦公軟體,必須收藏!

微約日曆 一款日程管理應用。使用者可以隨時隨地新增待辦、日程,而且還可以一鍵切換,新增圖片和備註資訊,非常便於時間管理。同時支援日程共享,使用者可以通過微信邀請好友加入日程,也可以建立多人日程,全員提醒,讓團隊協作更高效。軟體也支援語音和微信建立。 OneNote 微軟推出的一款功能強大的筆記軟體。擁有

知道的大神級辦公軟件,必須收藏!

簡潔 軟件分享 字體樣式 字體 管理 日程 時間 一個 共享 微約日歷 一款日程管理應用。用戶可以隨時隨地添加待辦、日程,而且還可以一鍵切換,添加圖片和備註信息,非常便於時間管理。同時支持日程共享,用戶可以通過微信邀請好友加入日程,也可以創建多人日程,全員提醒,讓團隊協作更

這些自動化測試框架知識你知道

這些自動化測試框架知識你還不知道?!   無論是在自動化測試實踐,還是日常交流中,經常聽到一個詞:框架。之前學習自動化測試的過程中,一直對“框架”這個詞知其然不知其所以然。   最近看了很多自動化相關的資料,加上自己的一些實踐,算是對“框架”有了一些理解,這篇部落格,就聊聊自動化框架的一些事吧。

作業系統知識整理 - 知識梳理(聽說有人知道作業系統講了點啥?)

主要內容 作業系統的基本目標 作業系統的作用 作業系統的作用方式 作業系統的發展歷史 作業系統的基本型別 作業系統的基本特性 作業系統的主要功能(important) 處理機管理功能 儲存器管理功能 外圍裝置管理功能 檔案管理功能