鏈接:redis-cli -h *** -p port -a passwd -n db
set key value 設定key值;set name value EX time,能夠經過help set 查看,設置數據存儲時間
get key 獲取指定key值
keys * 獲取全部的key,若是key過多會消耗大量內存,給服務器形成壓力
scan num num位0,表示開始第一次迭代,返回數組,第一個爲下次的num值,一直到數組的第一個值爲0時,迭代結束,key過可能是避免用上面的keys *
type key 經過上述keys or scan遍歷找到須要key,而後經過type來判斷是何種類型的key來取值,若是是string直接get key便可,若是是list,那就用下面的lrange key start end
lpush name value [value ...] 建立一個列表數據,默認先進後出
rpush name value [value ...] 同上,只是數據是先進先出
lrange name start stop 取列表數據,索引同Pythonredis
sadd key value1 value2 ... 建立一個集合,數據類型是set,跟Python一下也是惟一性數據庫
SMEMBERS key 獲取集合裏面的全部成員,SCARD key 統計成員數
AUTH "password" 認證vim
SELECT index 切換數據庫
PING 測試是否正在運行
INFO 列出redis的相關數據,好比版本,啓動文件主從
DBSIZE 列出當前庫有多少數據
FLUSHDB 刪除當前庫的全部數據
FLUSHALL 刪除全部庫的全部數據
LASTSAVE 返回最近一次 Redis 成功將數據保存到磁盤上的時間,以 UNIX 時間戳格式表示
MONITOR 實時打印出 Redis 服務器接收到的命令,調試用windows
del 刪除裏面的鍵,del key數組
SAVE 異步保存數據到硬盤,若干配置沒有開啓持久化存儲方式的話,重啓服務數據丟失
SLAVEOF host port 將當前服務器轉變爲指定服務器的從屬服務器(slave server)
SYNC 用於複製功能(replication)的內部命令安全
根據key值刪除數據
/usr/local/bin/redis-cli -p port -a passwd KEYS "cm:newmonitor:*" | xargs /usr/local/bin/redis-cli -p port -a passwd DEL
###若是不是默認的0庫的話得加上數據庫的參數 -n db服務器
KEYS 查出鍵值,列出清單,而後根據列出的清單循環鍵值
hgetall 查找每一個鍵值下面的內容,根據內容作判斷是否須要刪除異步
優化:
1:更細redis系統內存佔用機制
vim /etc/sysctl.conf
vm.overcommit_memory = 1工具
#最好不要設置爲0,Linux的OOM機制在內存不足的狀況下,會自動選擇性Kill進程點數太高的進程,0會中招。
sysctl vm.overcommit_memory=1
>0: 表示內核將檢查是否有足夠的可用內存供應用進程使用;若是有足夠的可用內存,內存申請容許;不然,內存申請失敗,並把錯誤返回給應用進程。
>1: 表示內核容許分配全部的物理內存,而無論當前的內存狀態如何。
>2: 表示內核容許分配超過全部物理內存和交換空間總和的內存性能
2:單線程模式,儘可能使用耗時短的命令
3:能夠組合的命令用pipelining連續執行
4 :操做系統的Transparent huge pages功能必須關閉: echo never >>/sys/kernel/mm/transparent_hugepage/enabled
5: 根據業務需求選擇數據持久化策略,rdb-設置多種快照方式,可是保存的時候fork子進程會形成延遲,而且在保存的過程當中crash會致使這部分爲保存的數據丟失
rdb更高效,aof更安全,可是對性能有必定的影響(rdb在fork形成最新一次延遲能夠經過INFO命令返回的latest_fork_usec查看)
6:引入讀寫分離機制(主從複製)
7:redis.conf 配置文件的一些基本參數:最大鏈接數等
使用SLOWLOG GET [number]命令,能夠輸出最近進入Slow Log的number條命令。
使用SLOWLOG RESET命令,能夠重置Slow Log
內存不足時,很是緩慢是不是大量佔用swap引發
當Linux將Redis所用的內存分頁移至swap空間時,將會阻塞Redis進程,致使Redis出現不正常的延遲。Swap一般在物理內存不足或一些進程在進行大量I/O操做時發生,應儘量避免上述兩種狀況的出現。
/proc/<pid>/smaps文件中會保存進程的swap記錄,經過查看這個文件,可以判斷Redis的延遲是否由Swap產生。若是這個文件中記錄了較大的Swap size,則說明延遲頗有多是Swap形成的
windows 工具 redis desktop manager 地址:https://redisdesktop.com/download