1. 程式人生 > >【精】Redis常用操作命令

【精】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

Linuxlinux常用基本命令

Linux中許多常用命令是必須掌握的,這裡將我學linux入門時學的一些常用的基本命令分享給大家一下,希望可以幫助你們。 這個是我將鳥哥書上的進行了一下整理的,希望不要涉及到版權問題。 1、顯示

iOS 日期操作總結:NSDate、NSDateFormatter

1、日期(NSDate) ///////////////////////////////////////////////////////////////////////// // //(1)NSDate 初始化 // ////////////////////////////

LinuxLinux中常用操作命令

詳細信息 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 +

LinuxLinux常用命令操作 (一)

一.Linux簡介 二.Linux基礎命令 三.工作常用命令 ---------------------------------------------------------------------------------------------------------------- 一.Linux簡介 L