【精】Redis常用操作命令
Redis基本資料型別的操作
Keys操作
keys * 列出所有的key
exists k1 判斷k1是否存在
move k1 2 將k1移動到2號庫
select 2 切換到2號庫
select 0
ttl k1 檢視k1的過期時間,-1代表永不過期,-2代表已經過期
expire key 秒鐘:為key設定過期時間
type key 檢視key的型別
String操作
set k1 v1
get k1
del k1
append k1 在key的後面新增字元
strlen k1 查詢key的長度
incr k4 將k4增加1
decr k4 將k4減1
incrby k4 5將k4增加5
decrby k4 5 將k4減去5
getrange k1 0 3 獲取指定區間範圍內的值,類似於between...and,從0到-1表示全部
setrange k1 0 xxx 將從0下標開始的字元替換為xxx
setex k4 10 v4 將k4值設定為v4並且過期時間為10秒
setnx k4 v4 設定k4的值,如果k4不存在才設值
mset k1 v1 k2 v2 k3 v3 設值多個值
mget k1 k2 k3 獲取多個值
msetnx
List操作
lpush list01 1 2 3 4 5 以左插入方式
rpush list02 1 2 3 4 5 以右插入方式
lrange list01 0 -1 按原來插入方式返回所有list值
lpop list01 從左邊彈出一個值
rpop list01 從右邊彈出一個值
lindex list01 index 按照索引下標獲得元素
lset list01 index value 按照索引下標設定元素
llen list01 list長度
lrem list03 count value 刪除count個value
ltrim list03 start end 擷取start到end下標的值給list03
rpoplpush list06 list07 list06彈出一個填入list07中
linsert list01 before value1 value2 在value1前面插入value2
linsert list01 after value1 value2 在value1後面插入value2
Set操作
sadd set01 1 1 2 2 3 4 4 只會插入不重複的值
smembers set01 顯示set裡面的值
sismember set01 value 判斷value是不是set01的元素
scard set01 集合數量
srem set01 value 刪除元素
srandmember set01 count 隨機取出count個元素
spop set01 [count] 隨機彈出元素
smove set01 set02 value 將set01的value值移動到set02中去
sdiff set01 set02 返回差集:在第一個集合但是不在第二個集合中
sinter set01 set02 返回交集:第一個第二個集合共有的
sunion set01 set02 返回並集:第一個第二個並集
Hash操作
hset key filed value 鍵值對,鍵為key,值為 key-value型別
hget key filed 取出屬性值
hmset user id 11 age 22 hobby football 設定多個鍵值對
hmget user id age hobby 取出多個屬性值
hgetall user 取出所有的屬性
hkeys user 取出所有的屬性名稱
hvals user 取出所有的屬性值
hdel user id age 刪除屬性
hlen user 元素個數
hexists user age 是否存在某個屬性
hincrby user age 2
hincrbyfloat user score 0.2
hsetnx
Zset操作
zadd set01 score1 v1 score2 v2 score3 v3
zrange set01 start end [withscores] 展示zset可以帶分數
zrevrange set01 0 -1 逆向展示
zrangebyscore set01 startscore endscore [withscores] [limit startindex count] 指定分數段的set集合(表示不包含
zrevrangebyscore ...
zrem set01 v5 刪除元素
zcard set01 個數
zcount set01 score1 score2 統計指定分數區間個數
zrank set01 v4 獲得v4的小標
zrevrank set01 v4 逆向獲得v4的小標
zcore set1 v4 獲得指定值的分數
事務
一個佇列中,一次性,順序性,排他性的執行一系列命令
multi 標記一個事務的開始
exec 執行事務
discard 取消事務
watch 標記一個鍵
unwatch 取消標記一個鍵
釋出訂閱
subscribe c1 c2 c3 訂閱多個頻道
publish c2 hello 釋出到c1頻道
psubscribe new* 通過萬用字元匹配多個訂閱
持久化方案
RDB
RDB是在某個時間點將資料寫入一個臨時檔案,持久化結束後,用這個臨時檔案替換上次持久化的檔案,達到資料恢復。
優點:使用單獨子程序來進行持久化,主程序不會進行任何IO操作,保證了redis的高效能
缺點:RDB是間隔一段時間進行持久化,如果持久化之間redis發生故障,會發生資料丟失。所以這種方式更適合資料要求不嚴謹的時候
這裡說的這個執行資料寫入到臨時檔案的時間點是可以通過配置來自己確定的,通過配置redis在n秒內如果超過m個key被修改這執行一次RDB操作。這個操作就類似於在這個時間點來儲存一次Redis的所有資料,一次快照資料。所有這個持久化方法也通常叫做snapshots。
RDB預設開啟
AOF
Append-only file,將“操作 + 資料”以格式化指令的方式追加到操作日誌檔案的尾部,在append操作返回後(已經寫入到檔案或者即將寫入),才進行實際的資料變更,“日誌檔案”儲存了歷史所有的操作過程;當server需要資料恢復時,可以直接replay此日誌檔案,即可還原所有的操作過程。AOF相對可靠,它和mysql中bin.log、apache.log、zookeeper中txn-log簡直異曲同工。AOF檔案內容是字串,非常容易閱讀和解析。優點:可以保持更高的資料完整性,如果設定追加file的時間是1s,如果redis發生故障,最多會丟失1s的資料;且如果日誌寫入不完整支援redis-check-aof來進行日誌修復;AOF檔案沒被rewrite之前(檔案過大時會對命令進行合併重寫),可以刪除其中的某些命令(比如誤操作的flushall)。
缺點:AOF檔案比RDB檔案大,且恢復速度慢。
相關推薦
【精】Redis常用操作命令
Redis基本資料型別的操作Keys操作keys * 列出所有的keyexists k1 判斷k1是否存在move k1 2 將k1移動到2號庫select 2 切換到2號庫select 0ttl k1 檢視k1的過期時間,-1代表永不過期,-2
Redis常用操作命令
丟失 清空 老用戶 fix sla config targe code htm 1、config get dir 獲取工作目錄 2、flushall 清空整個redis服務器的數據(刪除所有數據庫的所有 key) 3、flushdb 清空當前數據庫中的所有key 4、inf
Redis 常用操作命令,詳細介紹!!!!!
Redis常用管理命令。 1、啟動Redis。 1.1 通過命令形式。 redis-server [--port 6379] 1.2通過配置來啟動Redis。 redis-server [xx/xx/redis/conf] Redis預設埠號673
【原創】redis庫存操作,分散式鎖的四種實現方式[連載一]--基於zookeeper實現分散式鎖
一、背景 在電商系統中,庫存的概念一定是有的,例如配一些商品的庫存,做商品秒殺活動等,而由於庫存操作頻繁且要求原子性操作,所以絕大多數電商系統都用Redis來實現庫存的加減,最近公司專案做架構升級,以微服務的形式做分散式部署,對庫存的操作也單獨封裝為一個微服務,這樣在高併發情況下,加減庫存時,就會出現超賣等
【原創】redis庫存操作,分布式鎖的四種實現方式[連載一]--基於zookeeper實現分布式鎖
zookeepe operation iat 並發 method logger 方案 nag 概念 一、背景 在電商系統中,庫存的概念一定是有的,例如配一些商品的庫存,做商品秒殺活動等,而由於庫存操作頻繁且要求原子性操作,所以絕大多數電商系統都用Redis來實現庫存的加減,
【原創】redis庫存操作,分散式鎖的四種實現方式[連載二]--基於Redisson實現分散式鎖
一、redisson介紹 redisson實現了分散式和可擴充套件的java資料結構,支援的資料結構有:List, Set, Map, Queue, SortedSet, ConcureentMap, Lock, AtomicLong, CountDownLatch。並且是執行緒安全的,底層使用N
【連載】redis庫存操作,分散式鎖的四種實現方式[三]--基於Redis watch機制實現分散式鎖
一、redis的事務介紹 1、 Redis保證一個事務中的所有命令要麼都執行,要麼都不執行。如果在傳送EXEC命令前客戶端斷線了,則Redis會清空事務佇列,事務中的所有命令都不會執行。而一旦客戶端傳送了EXEC命令,所有的命令就都會被執行,即使此後客戶端斷線也沒關係,因為Redis中已經記錄了所有要執行的
Redis常用操作命令大全
1、Redis常用操作命令大全。 常用管理命令 1、啟動Redis > redis-server [--port 6379] 如果命令引數過多,建議通過配置檔案來啟動Redis。 > redis-server [xx
Redis常用操作命令-ouyangjun
說明:由於我電腦是32位作業系統,所有就不提供redis軟體下載地址了,請到官網下載使用。 軟體解壓之後,可放置到一個常用目錄,我是放置在:E:\dev\Redis-3.2.100,具體內容截圖如下:開啟cmd命令視窗,通過cd命令切換到E:\dev\Red
Redis 常用操作命令 之 string型別
string型別字串型別是 Redis 中最為基礎的資料儲存型別,它在 Redis 中是二進位制安全的,這便意味著該型別可以接受任何格式的資料,如JPEG影象資料或Json物件描述資訊等。在Redis中字串型別的Value最多可以容納的資料長度是512M。儲存如果設定的鍵不存
Redis 常用操作命令,非常詳細
下面總結並演示了 Redis 的 常用管理命令、key 操作、字串、集合、列表、雜湊型別的操作命令。 你需要掌握的 Redis 知識 更多請在後臺回覆關鍵字:Redis。 常用管理命令 1、啟動Redis > redis-server [--port 63
【Linux】linux常用基本命令
Linux中許多常用命令是必須掌握的,這裡將我學linux入門時學的一些常用的基本命令分享給大家一下,希望可以幫助你們。 這個是我將鳥哥書上的進行了一下整理的,希望不要涉及到版權問題。 1、顯示
【精】iOS 日期操作總結:NSDate、NSDateFormatter
1、日期(NSDate) ///////////////////////////////////////////////////////////////////////// // //(1)NSDate 初始化 // ////////////////////////////
【Linux】Linux中常用操作命令
詳細信息 hadoop 用戶組 軟件 name vim使用 title redhat tail Linux簡介及Ubuntu安裝 常見指令 系統管理命令 打包壓縮相關命令 關機/重啟機器 Linux管道 Linux軟件包管理 vim使用 用戶及用戶組管理 文件權限管理
【linux】--- linux檔案操作常用命令
命令格式: 命令 -選項 引數 eg: ls -l home(顯示home下的檔案並顯示其許可權) ls -a home(顯示ho
RocketMq學習筆記之一【常用操作命令與簡單配置】
【為什麼使用RocketMq】 1、應用解耦 2、流量削峰 3、訊息分發 4、保證最終一致性 5、方便動態擴容 【RocketMq的角色】 producer consumer Broker NameServer broker配置檔案: #nameSer
【裝13手冊】MAC常用終端命令及快捷鍵操作
Cmd + Space 召喚聚焦搜尋 輸入 terminal 回車 開啟裝逼之路 ... 1、終端命令列操作檔案 什麼 cd、ls 之類的就不說了,直接記錄一些常用易忘的好用的命令吧。 mkdir XXX 新建目錄XXX mkdir -p
【Linux 命令】Linux中常用操作命令和快捷鍵
1 34 個簡單實用的 Ubuntu 快捷鍵 快捷鍵 在alt+ctrl+t 終端 按win鍵開啟搜素dash 1. Ctrl + W: 關閉當前 Nautilus 視窗 2. Ctrl+T: 在 Nautilus 開啟新的 Tab 3. Ctrl +
【Linux】Linux常用命令及操作 (一)
一.Linux簡介 二.Linux基礎命令 三.工作常用命令 ---------------------------------------------------------------------------------------------------------------- 一.Linux簡介 L