redis基本操作命令key命令+string命令+事務操作命令
key命令
-
注:Redis是一個key-value的鍵值對的記憶體資料庫。最基本的一些操作就是對這些key的操作。
-
DEL
-
刪除Key, del key1 key2
-
EXISTS
-
檢查key是否存在, EXISTS key
-
EXPIRE
-
設定或者更新到期時間,到期後自動清除,單位秒 設定為-1表示永不過期。 EXPIRE key
-
PERSIST
-
移除過期時間,key永久儲存。其實就是過期時間設定為-1,永不過期
-
PTTL
-
以毫秒為單位返回key剩餘的過期時間。
-
TTL
-
以秒為單位,返回給定key的剩餘生存時間。
-
EXPIREAT
-
設定key的過期時間,不過設定的是時間戳。
-
PEXPIRE
-
設定key的過期時間,不過是毫秒單位。
-
PEXPIREAT
-
設定key的過期時間,不過是時間戳,以毫秒統計。
-
KEYS pattern
-
查詢匹配給定模式pattern的所有key。
-
KEYS * 匹配資料庫中所有 key 。
-
KEYS h?llo 匹配 hello , hallo 和 hxllo 等。
-
KEYS h*llo 匹配 hllo 和 heeeeello 等。
-
KEYS h[ae]llo 匹配 hello 和 hallo ,但不匹配 hillo 。
-
特殊符號用 \ 隔開
-
MOVE key db
-
把指定的key移動到資料庫db中。(預設的redis有16個數據庫)
-
SELECT index
-
切換資料庫(redis預設16個數據庫 編號從0開始)
-
RANDOMKEY
-
隨機獲取一個key
-
RENAME key newkey
-
修改key名字。如果newkey已經存在,則刪除newkey。
-
RENAMENX key newkey
-
僅當newkey不存在時,將key改名為newkey。
-
TYPE key
-
返回key的型別
string命令
-
GET
-
獲取
-
MGET
-
獲取多個
-
SET
-
設定(新增 修改)
-
MSET
-
設定一個
-
GETRANGE (加下標)
-
獲取範圍段
-
比如一個value是 qwertyuiop
-
正序 倒序兩種情況。
-
getrange key 0 4 (qwert)
-
getrange key -1 -5 (yuiop)
-
getrange key 0 -1 (qwertyuiop)
-
-
q w e r t y u i o p
-
0 1 2 3 4 5 6 7 8 9
-
-10 -9 -8 -7 -6 -5 -4 -3 -2 -1
-
-
GETSET (獲取當前key值設定新key值)
-
設定一個值,然後在返回原來老值。
-
SETEX key seconds value
-
設定一個key,並制定他的過期時間,單位秒
-
PSETEX key milliseconds value
-
設定一個key,並制定他的過期時間,單位毫秒
-
SETNX
-
只有在KEY不存在時設定value。就是新增一個(不包含更新)。
-
MSETNX
-
同時設定一個或多個 key-value 對,當且僅當所有給定 key 都不存在。
-
APPEND key value 新增到value尾部
-
追加到末尾。
-
STRLEN key
-
長度
-
INCR key 把value自增 類似i++
-
把key中的數字值增加1
-
INCRBY key increment 設定步長, incrby age 10 把age加10
-
將key所儲存的值增加一定數量。
-
INCRBYFLOAT key increment
-
增加一定的浮點數。
-
DECR key 自減
-
將key儲存數字鍵1
-
DECRBY key decrement 自減設定步長
-
減去給你的減量值
事務
事務不具有原子性。單條命令列具有原子性。
redis事物簡介(鎖事物)
redis中把事務把所有命令序列化 放入佇列快取 然後按順序執行,事務執行過程中不會接受其他命令執行。
事務執行過程
開始事物
命令佇列
執行事務
MULTI
標記一個事務塊的開始。
事務塊內的多條命令會按照先後順序被放進一個隊列當中,最後由 EXEC 命令原子性(atomic)地執行。
EXEC
執行所有事務塊內的命令。
假如某個(或某些) key 正處於 WATCH 命令的監視之下,且事務塊中有和這個(或這些) key 相關的命令,那麼 EXEC 命令只在這個(或這些) key 沒有被其他命令所改動的情況下執行並生效,否則該事務被打斷(abort)。(所有受監控的鍵都沒有被修改時,才會執行事務)
編譯錯誤 一個佇列內都不執行 ; 執行錯誤 錯誤的命令不執行
等等補充