redis 127.0.0.1:6379> echo hongwan "hongwan"
redis 127.0.0.1:6379> quit
echo -en "chen.qun" | redis-cli -x set name
-r 選項重複執行一個指令指定的次數。 -i 設定指令執行的間隔。 比如檢視redis每秒執行的commands(qps) redis-cli -r 100 -i 1 info stats | grep instantaneous_ops_per_sec 這個選項在編寫一些腳本時非常有用
redis-cli -h 192.168.44.16 -p 6379 --rdb 6379.rdb
模拟slave從master上接收到的commands。slave上接收到的commands都是update操作,記錄資料的更新行為。
這個一個非常有用的參數。發送原始的redis protocl格式資料到伺服器端執行。比如下面的形式的資料(linux伺服器上需要用unix2dos轉化成dos檔案)。 linux下預設的換行是\n,windows系統的換行符是\r\n,redis使用的是\r\n. echo -en '*3\r\n$3\r\nset\r\n$3\r\nkey\r\n$5\r\nvalue\r\n' | redis-cli --pipe
如果開啟了requirepass,那麼你如果希望調用或者自己編寫一些外部腳本通過redis-cli進行操作或者監控redis,那麼這個選項可以讓你不用再手動輸入auth。這個選項很普遍,但是往往被人忽視。
bgsave:背景子程序進行rdb持久化 save:主程序進行rdb,生産環境千萬别用,伺服器将無法響應任何操作。 lastsave: 傳回上一次成功save的unix時間
動态關閉rdb:
動态設定rdb:
永久關閉rdb:
永久設定rdb:
檢視rdb是否打開:
空的即是關閉,有數字的都是打開的。
在背景執行一個 aof檔案重寫操作
動态關閉aof:
動态打開aof:
永久關閉aof:
永久打開aof:
對于rdb和aof,都是直接拷貝檔案即可,可以設定crontab進行定時備份: cp /var/lib/redis/dump.rdb /somewhere/safe/dump.$(date +%y%m%d%h%m).rdb
如果隻使用了rdb,則首先将redis-server停掉,删除dump.rdb,最後将備份的dump.rdb檔案拷貝回data目錄并修改相關屬主保證其屬主和redis-server啟動使用者一緻,然後啟動redis-server。
如果是rdb+aof的持久化,隻需要将aof檔案放入data目錄,啟動redis-server,檢視是否恢複,如無法恢複則應該将aof關閉後重新開機,redis就會從rdb進行恢複了,随後調用指令bgrewriteaof進行aof檔案寫入,在info的aof_rewrite_in_progress為0後一個新的aof檔案就生成了,此時再将配置檔案的aof打開,再次重新開機redis-server就可以恢複了。注意先不要将dump.rdb放入data目錄,否則會因為aof檔案萬一不可用,則rdb也不會被恢複進記憶體,此時如果有新的請求進來後則原先的rdb檔案被重寫。
如果隻配置了aof,重新開機時加載aof檔案恢複資料。
恢複速度參見新浪的測試結果:
這個結果是可信的,在一台ssd、4個cpu的虛拟機上測試為28.3g/s.
檢查修複aof檔案:
<b>redis開發運維實踐指南</b>
本文為《redis開發運維實踐指南》内容,該書作者為黃鵬程,已授權雲栖社群轉載。
<code></code>