本文更新于2021-01-31,使用Redis 6.0.8,作業系統為Deepin 15.11,
目錄- 字串
- APPEND
- BITCOUNT
- BITOP
- DECR
- DECRBY
- GET
- GETBIT
- GETRANGE
- INCR
- INCRBY
- INCRBYFLOAT
- SET
- SETBIT
- SETNX
- SETRANGE
- 串列
- BLPOP
- BRPOP
- BRPOPLPUSH
- LINDEX
- LPOP
- LPUSH
- LRANGE
- LTRIM
- RPOP
- RPOPLPUSH
- RPUSH
- 無序集
- SADD
- SCARD
- SDIFF
- SDIFFSTORE
- SINTER
- SINTERSTORE
- SISMEMBER
- SMEMBERS
- SMOVE
- SPOP
- SRANDMEMBER
- SREM
- SUNION
- SUNIONSTORE
- 有序集
- ZADD
- ZCARD
- ZCOUNT
- ZINCRBY
- ZINTERSTORE
- ZRANGE
- ZRANK
- ZRANGEBYSCORE
- ZREM
- ZREMRANGEBYRANK
- ZREMRANGEBYSCORE
- ZREVRANGE
- ZREVRANGEBYSCORE
- ZREVRANK
- ZSCORE
- ZUNIONSTORE
- 無序散列
- HDEL
- HEXISTS
- HGET
- HGETALL
- HINCRBY
- HINCRBYFLOAT
- HKEYS
- HLEN
- HMGET
- HMSET
- HSET
- HVALS
- 洗掉
- DEL
- 排序
- SORT
- 過期
- EXPIRE
- EXPIREAT
- PERSIST
- PEXPIRE
- PEXPIREAT
- PTTL
- TTL
- 事務
- DISCARD
- EXEC
- MULTI
- UNWATCH
- WATCH
- 發布/訂閱
- PSUBSCRIBE
- PUNSUBSCRIBE
- PUBLISH
- SUBSCRIBE
- UNSUBSCRIBE
- 持久化
- BGREWRITEAOF
- BGSAVE
- SAVE
- 復制
- SLAVEOF
- 管理
- DEBUG OBJECT
- INFO
- SELECT
- SHUTDOWN
- 腳本
- EVAL
- EVALSHA
- SCRIPT FLUSH
- SCRIPT KILL
- SCRIPT LOAD
說明:本文中,小寫為自定義變數,根據實際情況填寫,使用[]引起表示內容可選,|表示使用左側或右側內容,...表示重復之前內容,
官方檔案參看:https://redis.io/commands
字串
即位元組序列,也可視作整數、浮點數,
APPEND
字串追加內容,如鍵不存在則創建,
APPEND str value
回傳追加后的位元組長度:
(integer) 5
BITCOUNT
統計二進制位中為1的數量,可指定位元組區間[start, end],
BITCOUNT str [start, end]
回傳二進制位為1的數量:
(integer) 4
BITOP
執行位運算后將結果存盤于deststr,
BITOP AND|OR|XOR deststr str [...]
BITOP NOT deststr str
回傳結果字串deststr的位元組長度:
(integer) 1
DECR
自減1,只可用于視為整數的字串型別,如鍵不存在,則先以0值創建,
DECR str
回傳自減后的值:
"-1"
DECRBY
減少指定整數值,只可用于視為整數的字串型別,如鍵不存在,則先以0值創建,
DECRBY str decrement
回傳減少后的值:
"-1"
GET
獲取字串,
GET str
回傳字串:
"value"
或無此鍵時回傳:
(nil)
GETBIT
獲取第offset的二進制位,位元組的高位在前,第一位為0,不可使用負數,
GETBIT str offset
只會回傳0或1,如位不存在則回傳0:
(integer) 1
GETRANGE
獲取位元組區間[start, end]內的子串,第一個位元組下標為0,可使用負數,最后一個位元組下標為-1,
GETRANGE str start end
回傳子串:
"val"
或如不存在回傳:
""
INCR
自增1,只可用于視為整數的字串型別,如鍵不存在,則先以0值創建,
INCR str
回傳自增后的值:
(integer) 1
INCRBY
增加整數值,只可用于視為整數的字串型別,如鍵不存在,則先以0值創建,
INCRBY str increment
回傳增加后的值:
(integer) 1
INCRBYFLOAT
增加浮點數值,只可用于視為整數或浮點數的字串型別,如鍵不存在,則先以0值創建,
INCRBYFLOAT str increment
回傳增加后的值:
"0.1"
SET
設定字串,
SET str value
成功回傳:
OK
SETBIT
設定第offset的二進制位,只能設定為0或1,如鍵不存在則創建,位元組的高位在前,第一位為0,不可使用負數,如字串長度不足,則使用0值位元組填充,
SETBIT str offset bit
回傳二進制位原來的值:
(integer) 1
SETNX
只當鍵不存在時設定字串,
SETNX str value
成功設定回傳1,未成功設定回傳0:
(integer) 1
SETRANGE
設定從offset(含)位元組起的內容,如鍵不存在則創建,第一個位元組下標為0,不可使用負數,如字串長度不足,則使用0值位元組填充,
SETRANGE str offset value
回傳設定后的字串位元組長度:
(integer) 5
串列
元素為字串,左側為開頭,右側為結尾,
BLPOP
阻塞地從第一個非空串列彈出最左側元素,
BLPOP list [...] timeoutseconds
如無阻塞彈出,則回傳彈出的串列、元素:
1) "list"
2) "element"
如有阻塞彈出,則回傳彈出的串列、元素和阻塞時間:
1) "list"
2) "element"
(1.01s)
如阻塞超時未彈出,則回傳nil和阻塞時間:
(nil)
(3.01s)
BRPOP
阻塞地從第一個非空串列彈出最右側元素,
BRPOP list [...] timeoutseconds
如無阻塞,則回傳彈出的串列、元素:
1) "list"
2) "element"
如有阻塞,則回傳彈出的串列、元素和阻塞時間:
1) "list"
2) "element"
(1.01s)
如阻塞超時,則回傳nil和阻塞時間:
(nil)
(3.01s)
BRPOPLPUSH
阻塞地從srclist彈出最右側元素,并把元素推入destlist最左側,如destlist不存在則創建,
BRPOPLPUSH srclist destlist timeoutseconds
如無阻塞,則回傳該元素:
"element"
如有阻塞,則回傳該元素和阻塞時間:
"element"
(1.01s)
如阻塞超時,則回傳nil和阻塞時間:
(nil)
(3.01s)
LINDEX
回傳左側指定下標的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
LINDEX list n
回傳該下標處的元素:
"element"
或無此元素時回傳:
(nil)
LPOP
彈出最左側元素,
LPOP list
回傳彈出的元素:
"element"
或串列為空時回傳:
(nil)
LPUSH
將元素依次推入串列最左側,如串列不存在則創建,引數中最后的元素位于串列最左側,
LPUSH list element [...]
回傳串列的長度:
(integer) 1
LRANGE
從左側起查找區間[start, end]內的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
LRANGE list start end
回傳元素串列:
1) "element0"
2) "element1"
或串列為空時回傳:
(empty array)
LTRIM
從左側起裁剪串列,只保留區間[start, end]內的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
LTRIM list start end
成功回傳:
OK
RPOP
彈出最右側元素,
RPOP list
回傳彈出的元素:
"element"
或串列為空時回傳:
(nil)
RPOPLPUSH
從srclist彈出最右側元素,并把元素推入destlist最左側,如destlist不存在則創建,
RPOPLPUSH srclist destlist
回傳該元素:
"element"
或當srclist為空時回傳:
(nil)
RPUSH
將元素依次推入串列右側,如串列不存在則創建,引數中最后的元素位于串列最右側,
RPUSH list element [...]
回傳串列的長度:
(integer) 1
無序集
元素為字串,
SADD
添加元素至集合中,如集合不存在則創建,
SADD set element [...]
回傳實際添加的元素個數,如元素已存在則不計入個數:
(integer) 1
SCARD
回傳集合的元素數量,
SCARD set
回傳元素數量:
(integer) 1
SDIFF
差集運算,
SDIFF set excludeset [...]
回傳結果集合的元素:
1) "element0"
2) "element1"
或當結果集合為空時回傳:
(empty array)
SDIFFSTORE
差集運算,并將結果存盤至destset,如destset不存在則創建,如已存在則清空,
SDIFFSTORE destset set excludeset [...]
回傳結果集合的元素個數:
(integer) 2
SINTER
交集運算,
SINTER set [...]
回傳結果集合的元素:
1) "element0"
2) "element1"
或當結果集合為空時回傳:
(empty array)
SINTERSTORE
交集運算,并將結果存盤至destset,如destset不存在則創建,如已存在則清空,
SINTERSTORE destset set [...]
回傳結果集合的元素個數:
(integer) 2
SISMEMBER
檢查是否包含元素,
SISMEMBER set element
包含回傳1,不包含回傳0:
(integer) 1
SMEMBERS
回傳集合的所有元素,
SMEMBERS set
回傳所有元素:
1) "element0"
2) "element1"
或集合為空時回傳:
(empty array)
SMOVE
如元素在srcset中,則將其洗掉并移入destset,如destset不存在則創建,
SMOVE srcset destset element
如移動則回傳1,如未移動則回傳0:
(integer) 1
SPOP
隨機彈出元素,
SPOP set [count]
回傳彈出的元素串列:
"element0"
"element1"
或無元素彈出時回傳:
(empty array)
SRANDMEMBER
隨機回傳元素,當count為正數時,元素不會重復,因此個數可能不足;當count為負數時,元素可能重復,
SRANDMEMBER set [count]
回傳元素串列:
"element0"
"element1"
或count為0時回傳:
(empty array)
SREM
洗掉集合中的元素,
SREM set element [...]
回傳實際洗掉的元素個數,如元素不存在則不計入個數:
(integer) 1
SUNION
并集運算,
SUNION set [...]
回傳結果集合的元素:
1) "element0"
2) "element1"
或當結果集合為空時回傳:
(empty array)
SUNIONSTORE
并集運算,并將結果存盤至destset,如destset不存在則創建,如已存在則清空,
SUNIONSTORE destset set [...]
回傳結果集合的元素個數:
(integer) 2
有序集
字串與浮點數分值映射,
ZADD
添加元素及分值至有序集合中,如有序集合不存在則創建,
ZADD zset score element [score element ...]
回傳實際添加的元素個數,如元素已存在且分值相同則不計入個數:
(integer) 1
ZCARD
回傳有序集合的元素數量,
ZCARD zset
回傳元素數量:
(integer) 1
ZCOUNT
回傳有序集合分值在區間[min, max]的元素數量,
ZCOUNT zset min max
回傳元素數量:
(integer) 1
ZINCRBY
增加元素的分值,如元素不存在,則先以0分值添加,
ZINCRBY zset increment element
回傳增加后的分值:
"0.1"
ZINTERSTORE
類似交集運算,并將結果存盤至destzset,如destset不存在則創建,如已存在則清空,
ZINTERSTORE destzset nzset zset [...] [WEIGHTS weight [...]] [AGGREGATE SUM|MIN|MAX]
zset引數可使用集合,被當作分值為1的有序集合,AGGREGATE默認為SUM,
回傳結果有序集合的元素個數:
(integer) 2
ZRANGE
分值從小到大查找排名在區間[start, end]內的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
ZRANGE zset start end [WITHSCORES]
回傳元素串列:
1) "element0"
2) "element1"
如指定WITHSCORES則同時回傳分值:
1) "element0"
2) "1"
3) "element1"
4) "2"
或串列為空時回傳:
(empty array)
ZRANK
查找元素在有序集合中從小到大的排名,第一為0,
ZRANK zset element
回傳元素的排名:
(integer) 0
或當元素不存在時回傳:
(nil)
ZRANGEBYSCORE
分值從小到大查找分值在區間[min, max]的元素,
ZRANGEBYSCORE zset min max [WITHSCORES] [LIMIT offset count]
回傳元素串列:
1) "element0"
2) "element1"
如指定WITHSCORES則同時回傳分值:
1) "element0"
2) "1"
3) "element1"
4) "2"
或串列為空時回傳:
(empty array)
ZREM
洗掉有序集合中的元素,
ZREM zset elment [...]
回傳實際洗掉的元素個數,如元素不存在則不計入個數:
(integer) 1
ZREMRANGEBYRANK
洗掉有序集合中分值從小到大排名在區間[start, end]內的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
ZREMRANGEBYRANK zset start end
回傳被洗掉的元素個數:
(integer) 1
ZREMRANGEBYSCORE
洗掉有序集合中分值在區間[min, max]內的元素,
ZREMRANGEBYSCORE zset min max
回傳被洗掉的元素個數:
(integer) 1
ZREVRANGE
分值從大到小查找排名在區間[start, end]內的元素,第一個元素下標為0,可使用負數,最后一個元素下標為-1,
ZREVRANGE zset start end [WITHSCORES]
回傳元素串列:
1) "element0"
2) "element1"
如指定WITHSCORES則同時回傳分值:
1) "element0"
2) "2"
3) "element1"
4) "1"
或串列為空時回傳:
(empty array)
ZREVRANGEBYSCORE
分值從大到小查找分值在區間[min, max]的元素,
ZRANGEBYSCORE zset max min [WITHSCORES] [LIMIT offset count]
回傳元素串列:
1) "element0"
2) "element1"
如指定WITHSCORES則同時回傳分值:
1) "element0"
2) "2"
3) "element1"
4) "1"
或串列為空時回傳:
(empty array)
ZREVRANK
查找元素在有序集合中從大到小的排名,第一為0,
ZREVRANK zset element
回傳元素的排名:
(integer) 0
或當元素不存在時回傳:
(nil)
ZSCORE
回傳元素的分值,
ZSCORE zset element
回傳分值:
"1"
或當元素不存在時回傳:
(nil)
ZUNIONSTORE
類似并集運算,并將結果存盤至destzset,如destset不存在則創建,如已存在則清空,
ZUNIONSTORE destzset nzset zset [...] [WEIGHTS weight [...]] [AGGREGATE SUM|MIN|MAX]
zset引數可使用集合,被當作分值為1的有序集合,AGGREGATE默認為SUM,
回傳結果有序集合的元素個數:
(integer) 2
無序散列
鍵值均為字串,值也可視作整數、浮點數,
HDEL
洗掉散列的鍵,
HDEL hash field [...]
回傳實際洗掉的鍵個數,如鍵不存在則不計入個數:
(integer) 1
HEXISTS
檢查鍵是否存在,
HEXISTS hash field
存在回傳1,不存在回傳0:
(integer) 1
HGET
獲取單個鍵對應的值,
HGET hash field
回傳鍵對應的值:
"value"
或當無此鍵時回傳:
(nil)
HGETALL
回傳所有鍵值對,
HGETALL hash
鍵值間隔依次回傳:
1) "field1"
2) "value1"
3) "field2"
4) "value2"
或散列為空時回傳:
(empty array)
HINCRBY
增加鍵的值,只可用于視為整數的字串型別,如散列鍵不存在則創建,如鍵不存在則先以0值創建,
HINCRBY hash field increment
回傳增加后的值:
(integer) 1
HINCRBYFLOAT
增加鍵的浮點數值,只可用于視為整數或浮點數的字串型別,如散列鍵不存在則創建,如鍵不存在則先以0值創建,
HINCRBYFLOAT hash field increment
回傳增加后的值:
"0.1"
HKEYS
回傳所有鍵,
HKEYS hash
回傳鍵的串列:
1) "field1"
2) "field2"
或散列為空時回傳:
(empty array)
HLEN
回傳鍵值對數量,
HLEN hash
回傳數量:
(integer) 1
HMGET
獲取多個鍵對應的值,
HMGET hash field [...]
依次回傳鍵對應的值,如鍵不存在則值為nil:
1) "value1"
2) (nil)
HMSET
設定散列的鍵值對,如散列不存在則創建,
HMSET hash field value [field value ...]
回傳實際添加的鍵個數,如鍵已存在則不計入個數:
(integer) 1
HSET
設定散列的鍵值對,如散列不存在則創建,
HSET hash field value [field value ...]
回傳實際添加的鍵個數,如鍵已存在則不計入個數:
(integer) 1
HVALS
回傳所有值,值可能重復,
HVALS hash
回傳值的串列:
1) "value1"
2) "value2"
或散列為空時回傳:
(empty array)
洗掉
DEL
洗掉鍵,可用于所有型別,
DEL key [...]
回傳洗掉的鍵數量,如鍵不存在則不計入個數:
(integer) 1
排序
SORT
排序,可對串列、集合、有序集(忽略分值)進行排序,
SORT key [BY by_pattern] [LIMIT offset count] [GET get_pattern [GET get_pattern ...]] [ASC|DESC] [ALPHA] [STORE destlist]
BY指定使用外部鍵進行排序,以key中的元素替換by_pattern中的號,以此作為鍵查找字串,再使用此字串作為排序的依據(如:user),或以key中的元素替換by_pattern中的號,以此作為鍵查找無序散列,再使用->取無序散列中鍵的值作為排序的依據(如:user->name),如by_pattern不存在,則跳過排序,
LIMIT限制回傳的結果跳過的數量和回傳的總數量,
GET指定外部鍵作為回傳結果,以key中的元素替換get_pattern中的號,以此作為鍵查找字串,再使用此字串作為回傳結果(如:user),或以key中的元素替換by_pattern中的號,以此作為鍵查找無序散列,再使用->取無序散列中鍵的值作為回傳結果(如:user->name),get_pattern為#表示key中的元素,
ASC為升序,DESC為降序,默認為升序,
ALPHA為作為字串排序,默認為作為數值排序,
STORE將結果保存至串列中,如destlist不存在則創建,如已存在則清空,
回傳排序后的元素:
"1"
"2"
或如回傳多個外部鍵:
"1"
"a"
"2"
"b"
或無元素時回傳:
(empty array)
如使用了STORE則回傳排序后的元素數量:
(integer) 1
過期
EXPIRE
設定鍵于若干秒后過期,
EXPIRE key seconds
鍵存在回傳1,不存在回傳0:
(integer) 1
EXPIREAT
設定鍵于秒級Unix時間戳過期:
EXPIREAT key unix_timestamp_second
鍵存在回傳1,不存在回傳0:
(integer) 1
PERSIST
將鍵設為永久,會移除過期時間,
PERSIST key
鍵原有過期時間回傳1,原是永久回傳0:
(integer) 1
PEXPIRE
設定鍵于若干毫秒后過期,
PEXPIRE key millseconds
鍵存在回傳1,不存在回傳0:
(integer) 1
PEXPIREAT
設定鍵于毫秒級Unix時間戳過期:
PEXPIREAT key unix_timestamp_millsecond
鍵存在回傳1,不存在回傳0:
(integer) 1
PTTL
查看鍵距離過期的毫秒數,
PTTL key
回傳毫秒數,永久回傳-1,不存在回傳-2:
(integer) 1
TTL
查看鍵距離過期的秒數,
TTL key
回傳秒數,永久回傳-1,不存在回傳-2:
(integer) 1
事務
命令的執行順序為:WATCH、UNWATCH(不再繼續執行后面的命令)、MULTI、DISCARD(不再繼續執行后面的命令)、EXEC,
DISCARD
取消所有對鍵進行的監視并清空使用MULTI入隊的命令,在MULTI之后EXEC之前執行,
DISCARD
回傳:
OK
EXEC
執行事務,
EXEC
執行MULTI至EXEC的所有命令,嵌套回傳各命令的執行結果:
1) "value"
2) 1) "element0"
2) "element1"
執行失敗回傳:
(nil)
MULTI
開始事務,
MULTI
回傳:
OK
MULTI至EXEC的所有命令會入隊并在EXEC后一起執行,期間所有命令均回傳:
QUEUED
UNWATCH
取消所有對鍵進行的監視,在WATCH之后MULTI之前執行,
UNWATCH
回傳:
OK
WATCH
對鍵進行監視,執行WATCH至EXEC這段時間內,如其他連接對鍵進行修改,EXEC會執行失敗,
WATCH key [...]
回傳:
OK
發布/訂閱
訊息為字串,
PSUBSCRIBE
訂閱匹配glob模式的頻道,
PSUBSCRIBE glob [...]
依次回傳各頻道的事件名(psubscribe)、glob模式、當前訂閱的頻道數量:
1) "psubscribe"
2) "glob1"
3) (integer) 1
1) "psubscribe"
2) "glob2"
3) (integer) 2
此后,當前連接被阻塞直至斷開,期間依次輸出訊息的事件名(pmessage)、glob模式、頻道名、訊息值:
1) "pmessage"
2) "glob1"
3) "channel"
4) "msg"
PUNSUBSCRIBE
在redis-cli,因訂閱后連接被阻塞,不能使用此命令,
退訂匹配glob模式的頻道,如不指定glob則退訂所有頻道,
PUNSUBSCRIBE [glob [...]]
依次回傳各glob模式的事件名(punsubscribe)、glob模式、當前訂閱的頻道數量,如當前訂閱的頻道數量已為0,則不繼續回傳后續事件,但事件仍存在連接的佇列中:
1) "punsubscribe"
2) "glob1"
3) (integer) 1
1) "punsubscribe"
2) "glob2"
3) (integer) 0
當不指定channel且沒有訂閱頻道時回傳:
1) "punsubscribe"
2) (nil)
3) (integer) 0
PUBLISH
向頻道發送訊息,
PUBLISH channel msg
回傳接收到訊息的連接數:
(integer) 1
SUBSCRIBE
訂閱頻道,
SUBSCRIBE channel [...]
依次回傳各頻道的事件名(subscribe)、頻道名、當前訂閱的頻道數量:
1) "subscribe"
2) "channel1"
3) (integer) 1
1) "subscribe"
2) "channel2"
3) (integer) 2
此后,當前連接被阻塞直至斷開,期間依次輸出訊息的事件名(message)、頻道名、訊息值:
1) "message"
2) "channel1"
3) "msg"
UNSUBSCRIBE
在redis-cli,因訂閱后連接被阻塞,不能使用此命令,
退訂頻道,如不指定channel則退訂所有頻道,
UNSUBSCRIBE [channel [...]]
依次回傳各頻道的事件名(unsubscribe)、頻道名、當前訂閱的頻道數量,如當前訂閱的頻道數量已為0,則不繼續回傳后續事件,但事件仍存在連接的佇列中:
1) "unsubscribe"
2) "channel1"
3) (integer) 1
1) "unsubscribe"
2) "channel2"
3) (integer) 0
當不指定channel且沒有訂閱頻道時回傳:
1) "unsubscribe"
2) (nil)
3) (integer) 0
持久化
BGREWRITEAOF
重寫AOF檔案,子行程負責將AOF檔案寫入磁盤,父行程繼續處理命令請求,
BGREWRITEAOF
回傳:
Background append only file rewriting started
BGSAVE
后臺創建快照檔案,子行程負責將快照檔案寫入磁盤,父行程繼續處理命令請求,
BGSAVE
回傳:
Background saving started
SAVE
前臺創建快照檔案,快照檔案創建完畢之前都不再回應任何其他命令,
SAVE
回傳:
OK
復制
SLAVEOF
作為從服務器,指定主服務器,并丟棄已有資料,復制資料:
SLAVEOF host port
停止復制,使用已有資料,由從服務器切換為主服務器:
SLAVEOF NO ONE
回傳:
OK
管理
DEBUG OBJECT
回傳物件的除錯資訊,
DEBUG OBJECT key
回傳呼試資訊:
Value at:0x7f4500a77c80 refcount:1 encoding:ziplist serializedlength:17 lru:11272693 lru_seconds_idle:6559102
如鍵不存在回傳:
(error) ERR no such key
INFO
查看服務器狀態資訊,
INFO section
回傳的資訊包括幾個小節,每個小節由一行以“#”開頭的小節名開頭及一行空行結尾,小節中每條資訊一行并以“:”分隔名字和值:
# Modules
# Cluster
cluster_enabled:0
各名字的含義如下:
- aof_pending_bio_fsync:AOF等待同步到磁盤的命令數,
SELECT
選擇切換至第n號庫,最大為15,默認為0,如非0,命令列提示符帶有“[n]”字樣,
SELECT n
回傳:
OK
SHUTDOWN
停止服務,
SHUTDOWN [NOSAVE|SAVE]
無回傳,連接斷開,
腳本
EVAL
執行Lua腳本代碼,
EVAL lua_code key_amount [key [...]] [arg [...]]
key為lua_code中使用到的鍵,在Lua腳本中依次以KEYS[1]等形式使用,arg為lua_code中使用到的附加引數,在Lua腳本中依次以ARGV[1]等形式使用,
回傳Lua腳本的回傳值,如有表格(table)則嵌套回傳:
1) "lua"
2) 1) (integer) 1
2) (integer) 2
或當失敗回傳錯誤:
(error) ERR wrong number of arguments for 'eval' command
EVALSHA
執行已加載的Lua腳本代碼,
EVALSHA sha1 key_amount [key [...]] [arg [...]]
key為lua_code中使用到的鍵,在Lua腳本中依次以KEYS[1]等形式使用,arg為lua_code中使用到的附加引數,在Lua腳本中依次以ARGV[1]等形式使用,
回傳Lua腳本的回傳值,如有表格(table)則嵌套回傳:
1) "lua"
2) 1) (integer) 1
2) (integer) 2
或當失敗回傳錯誤:
(error) ERR wrong number of arguments for 'evalsha' command
SCRIPT FLUSH
清除所有已加載的Lua腳本代碼,
SCRIPT FLUSH
回傳:
OK
SCRIPT KILL
殺死正在執行的Lua腳本,
SCRIPT KILL
回傳:
OK
如沒有正在執行的Lua腳本則回傳:
(error) NOTBUSY No scripts in execution right now.
SCRIPT LOAD
加載但不執行Lua腳本代碼:
SCRIPT LOAD lua_code
回傳腳本代碼的SHA1校驗和:
"e0e1f9fabfc9d4800c877a703b823ac0578ff8db"
或當失敗回傳錯誤:
(error) ERR Unknown subcommand or wrong number of arguments for 'load'. Try SCRIPT HELP.
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/255111.html
標籤:NoSQL
