redis09---redis 服務器端命令
阿新 • • 發佈:2018-01-14
註意 con write lec div 導出 能夠 後臺進程 防止
redis 服務器端命令 db0,db1,db2是數據庫,外層是服務器,服務器下面有20個數據庫。 6379:0>time 1) "1515832769" //多少秒 2) "160000" //多少微妙 redis 127.0.0.1:6380> dbsize // 當前數據庫的key的數量 (integer) 2 redis 127.0.0.1:6380> select 2 OK redis 127.0.0.1:6380[2]> dbsize (integer) 0 BGREWRITEAOF 後臺進程重寫AOF BGSAVE 手動後臺保存rdb快照 SAVE 保存rdb快照 LASTSAVE 上次保存時間 Slaveof master-Host port , 把當前實例設為master的slave Flushall 清空所有庫所有鍵 Flushdb 清空當前庫所有鍵 Showdown [save/nosave] 註: 如果不小心運行了flushall, 立即 shutdown nosave ,關閉服務器 防止別人重寫aof(因為此時數據庫是空的,重寫aof後aof也就空了,那麽就不能夠通過aof來恢復了)。然後 手工編輯aof文件, 去掉文件中的 “flushall “相關行: *1 $8 //Flushall是8個長度 Flushall 然後開啟服務器,就可以導入回原來數據. 如果,flushall之後,系統恰好bgrewriteaof重寫了aof文件了,那麽aof就清空了,數據就真的丟失.(還有rdb可以恢復出來)。
配置信息可以寫在conf文件裏面,但是也可以運行時動態設置: Config get 配置項 Config set 配置項 值 (特殊的選項,不允許用此命令設置,如slave-of, 需要用單獨的slaveof命令來設置) 6379:0>config get requirepass 1) "requirepass" 2) "" Slowlog 顯示慢查詢,註:多慢才叫慢? 答: 由slowlog-log-slower-than 10000 ,來指定,(單位是微秒) 服務器儲存多少條慢查詢的記錄? 答: 由 slowlog-max-len 128 ,來做限制指定。 慢日誌 6379:0>config get slowlog-log-slower-than 1) "slowlog-log-slower-than" 2) "10000" //大於10000微妙就記下來 6379:0>config set slowlog-log-slower-than 100 ////大於100微妙就記下來 "OK" 6379:0>CONFIG get slowlog-max-len 1) "slowlog-max-len" 2) "128" //最多存128條慢日誌 6379:0>slowlog get //slowlog get N 獲取慢日誌,返回查詢時間大於100微妙的命令 1) 1) "2" 2) "1515834219" 3) "22000" 4) 1) "config" 2) "get" 3) "requirepass" 2) 1) "1" 2) "1515833612" 3) "15000" 4) 1) "PSYNC" 2) "?" 3) "-1"
Redis運維時需要註意的參數:Info [Replication/CPU/Memory..] :查看redis服務器的信息 1: 內存 # Memory used_memory:859192 數據結構的空間,859K used_memory_rss:7634944 實占空間 mem_fragmentation_ratio:8.89 前2者的比例,1點幾最好,如果此值過大,說明redis的內存的碎片化嚴重,可以導出再導入一次. 2: 主從復制信息 # Replication role:slave master_host:192.168.1.128 master_port:6379 master_link_status:up 3:持久化 # Persistence rdb_changes_since_last_save:0 rdb_last_save_time:1375224063 4: fork耗時 #Status latest_fork_usec:936 上次導出rdb快照,持久化花費微秒 註意: 如果某實例有10G內容,導出需要2分鐘, 每分鐘寫入10000次,導致不斷的rdb導出,磁盤始處於高IO狀態.
redis09---redis 服務器端命令