redis 命令

以下是筆者學習redis的時候記下的一些命令

-- String
set {key} {value} 設置keyvalue
get {key} 根據key獲取value
incr {key} 自增
decr {key} 自減
incrby {key} {num} 自增自定義的數值
decrby {key} {num} 自減自定義的數值


-- Hash
hset {key} {key value} hash設置值
hget {key} {key} hash獲取值
hmset {key} {key value} {key value}.. hash同時設置多個值
hgetall {key} 獲取hash裏的所有值


-- 鏈表
lpush {key} {value} 從左側放入數據
rpush {key} {value} 從右側放入數據
lrange {key} 0 -1 '0'第一個 '-1'最後一個
lpop {key} 把左側的數據拿出
rpop {key} 把右側的數據拿出


-- Set
sadd {key} {value} 向集合裏添加元素
smembers {key} 獲取集合裏的元素
srem {key} {value} 移除value元素
spop {key} 隨機移除一個元素
sinter {key} {key} 求交集
sunion {key} {key} 求並集
sdiff {key} {key} 求差集


-zSet
zadd {key} 權重值 {value} 添加
zrange {key} 0 -1 '0' 第一個 '-1'最後一個
zrange {key} 0 -1 withscores 顯示權重信息


redis安全認證(默認不需要認證)
redis.conf文件 裏的 requirepass {密碼}
auth {密碼} 驗證密碼


redis持久化方案(基於快照)
redis.conf文件 裏的save
save 900 1 含義:如果在900s內,對redis的key進行了一次操作,則會把內存裏的數據同步到磁盤文件
save 300 10 含義:如果在300s內,對redis的key進行了十次操作,則會把內存裏的數據同步到磁盤文件
save 60 10000 含義:如果在60s內,對redis的key進行了一萬次操作,則會把內存裏的數據同步到磁盤文件
dbfilename dump.db 基於快照持久化保存文件的名稱
dir ./ 保存的目錄,相對於redis-server的路徑
save命令 手動觸發快照的保存 阻塞當前
bgsave命令 手動觸發快照的保存 不阻塞異步 lastsave獲取最後一次成功執行快照的時間


redis持久化方案(基於日誌文件)
redis.conf文件 裏的
appendonly yes 開啓基於文件追加方式的持久化
appendfilename 文件的名稱
appendfsync 備份文件的週期 
(always 只要存在對redis數據進行操作就會記錄到磁盤)
(everysec 每1s進行一次把對redis數據進行操作的數據都會記錄)
(no 完成交給操作系統來完成,os不忙的時候把對redis數據進行操作的數據進行記錄)




redis默認有16個庫select {num} 從0開始 換庫
keys {*} 獲取redis裏面所有的key
dbsize 查看當前數據庫的key的數量
flushdb 清空當前庫的所有key
flushall 清空所有庫的key
exists {key} 是否存在該key
move {key} {db} 把當前庫的key移到db號庫中
expore {key} {秒數} 爲指定的key設置過期時間
ttl {key} 查看還有多少秒過期 -1表示永不過期 -2表示已過期
type {key} 查看key的類型


redis主從複製(哨兵模式)
在redis目錄下新建sentinel.conf(名字必須一致)
配置哨兵 內容:sentinel monitor 主機名稱(自定義) 127.0.0.1(IP地址) 6379(端口號)1(票數,多於1票就做主庫)
啓動哨兵 命令:Redis-sentinel sentinel.conf

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章