redis經常使用命令大全

參考資料

redis服務相關

redis啓動redis

$ redis-cli # 本地啓動連接
$ redis-cli -h host -p port -a password #遠程啓動

驗證密碼是否正確數據庫

$ AUTH password

打印字符串code

$ ECHO message

查看服務是否運行排序

$ PING

關閉當前鏈接索引

$ QUIT

切換指定數據庫隊列

$ SELECT index

redis key命令

刪除給定的一個或多個key,不存在的key會忽略掉rem

$ DEL key [key ...]  # 返回被刪除key的數量

檢查給定的key是否存在文檔

$ EXISTS key  # 存在返回1,不然返回0

設置key的過時時間字符串

$ EXPIRE key time   # 設置成功返回1

設置key指定的過時時間get

$ EXPIREAT key timestamp   # 設置成功返回1,key不存在或者沒法設置,返回0

查找全部符合給定模式pattern的key

$ KEYS *    # 匹配數據庫中全部key
$ KEYS h?llo   # 匹配hello, hallo和hxllo等
$ KEYS h*llo   # 匹配hllo,heeeeeello等
$ KEYS h[ae]llo   # 匹配hello,hallo,可是不匹配hxllo

移除給定key的生存時間,使其變成永久的key

$ PERSIST key   # 成功返回1,當key不存在或者key未設置ttl時返回0

返回key的剩餘生存時間

$ PTTL key   # 以毫秒返回key的剩餘生存時間,當key不存在時返回-2,key沒有設置過時時間返回-1
$ TTL key # 以秒返回key的剩餘生存時間,同上

從當前數據庫隨機返回一個key,可是不刪除

$ RANDOMKEY   # 當數據庫爲空時,返回nil

重命名key的名字

$ RENAME key newkey  # 失敗會返回錯誤,如no such key,當newkey存在時,將覆蓋key
$ RENAMENX key newkey   # 當newkey存在時,會返回錯誤

對列表、集合、有序集合key中元素進行排序

$ SORT key   # 返回從小到大的結果
$ SORT key desc   # 返回從大到小的結果

獲取key的類型

$ TYPE key
# none(key不存在)
# string(字符串)
# list(列表)
# set(集合)
# zset(有序集合)
# hash(哈希表)

遊標方式獲取key

$ SCAN 0   # 從遊標爲0的位置開始獲取key,返回值會返回以後遊標的位置
$ SCAN 0 MATCH h*llo   # 能夠經過match的方式返回匹配的元素

string(字符串)

追加value到key原有值的結尾

$ APPEND key value    # 返回當前key的長度

設置bit位以及獲取被設置bit位數量

$ SETBIT key offset value   # 設置當前offset的bit位爲1
$ BITCOUNT key [start end]    # 獲取當前key設置過1的數量

對key中存儲的數據進行加或者減操做

$ DECR key      # 返回當前存在的值,減1
$ DECRBY key decrement      # 返回當前存在的值,減去decrement
$ INCR key      # 對key進行加1操做
$ INCRBY key increment      # 返回當前存在的值,加上increment
$ INCREBYFLOAT key float    # 對當前key加上一個flaot值,可是會有不少小數

==對字符串數據進行設置和獲取==

$ SET key value         # 設置一個key的值
$ GET key           #獲取key的值

獲取key的值在start和end之間的值

$ GETRANGE key start end

將給定的value設置到key,而且返回key以前的值

$ GETSET key value

設置一個key,含有過時時間,可是是毫秒

$ PSETEX key milliseconds value

==設置一個key,含有過時時間,可是是秒==

$ SETEX key seconds value

返回value的長度

$ STRLEN key

set if not exists若是不存在則寫入,返回1或0

$ SETNX key value

==同時獲取多個值==

$ MGET key[key...]

==同時設置多個key和值==

$ MSET key value[key value...]

原子性操做,要麼都一塊兒設置成功,要麼都一塊兒設置失敗

$ MSETNX key value[key value...]

Hash(哈希表)

刪除哈希表key中一個或多個指定域,不存在將被忽略,成功返回被刪除數量

$ HDEL key field [field...]

檢查哈希表key中,給定域field是否存在,存在返回1,不存在返回0

$ HEXISTS key field

==獲取哈希表key中,給定的域field==

$ HGET key field

==獲取哈希表key全部域和值==

$ HGETALL key

對哈希表key中指定的域field值上加上增量increment

$ HINCRBY key field increment

對哈希表key中指定的域field值上加上浮點數increment

$ HINCRBYFLOAT key field incrment

==返回給定哈希表key中全部的域field==

$ HKEYS key

返回給定哈希key中全部與field的數量

$ HLEN key

==返回哈希表key中一個或多個給定域的值==

$ HMGET key field [field...]

==將多個field-value對設置到哈希key中==

$ HMSET key field value [field value ...]

==將哈希表key中域field設置值爲value==

$ HSET key field value

將哈希表key中域field設置值爲value,當且僅當field不存在,若是存在則操做無效

$ HSETNX key field value

==返回哈希表key中全部域的值==

$ HVALS key

列表(list)

彈出多個隊列的值,阻塞式

$ BLPOP key [key...] timeout

向前彈出多個隊列的值,阻塞式

$ BRPOP key [key...] timeout

返回key中位於index的值,0開始,-1爲倒數第一個

$ LINDEX key index

插入一個值到key的某一個值以前或以後,若是這個值沒找到,則不插入

$ LINSERT key BEFORE|AFTER pivot value

==返回key有多少個值==

$ LLEN key

==移除表頭的值,並返回該值==

$ LPOP key

==將一個或多個值插入到key的表頭==

$ LPUSH key value [value...]

從key1表尾彈出一個值,並插入到key2表頭,只是阻塞版本

$ BRPOPLPUSH key1 key2 timeout

將一個值插入到key中,當且僅當key存在的狀況下

$ LPUSHX key value

==獲取指定區間的值,-1表示最後一個==

$ LRANGE key start end

移除與value相等的值,當count>0,表頭開始搜索,count<0,表尾開始搜索,count=0,移除所有

$ LREM key count value

設置指定index的值,覆蓋

$ LSET key index value

==刪除指定區間之外的值==

$ LTRIM key start end

==從表尾彈出一個值==

$ RPOP key

從key1結尾彈出一個值返回,並添加到key2表頭

$ RPOPLPUSH key1 key2

==從表尾插入一個值==

$ RPUSH key value [value...]

從表尾插入一個值,當且僅當key存在的時候

$ RPUSHX key value

集合(Set)

==將一個或者多個值添加到集合中,重複的值將會被忽略掉==

$ SADD key value [value...]

==返回key中隊列的元素數量==

$ SCARD key

==返回隊列key全部的值==

$ SMEMBERS key

返回全部集合的差集,目前看來是第一個key在其餘key中不存在的值

$ SDIFF key [key...]

用以上SDIFF對比差集以後,存儲到destination這個集合中去

$ SDIFFSTORE destination key [key...]

返回幾個集合的交集,假設有一個是空集,那麼返回的也是空集

$ SINTER key [key...]

將以上用SINTER返回的交集存儲到destination集合中

$ SINTERSTORE destination key [key...]

判斷一個值是不是一個集合的成員

$ SISMEMBER key member

將元素從source移動到destination中去,原子性操做

$ SMOVE source destination member

==移除並返回一個隨機元素==

$ SPOP key

==返回必定數量的元素,可是不對集合進行任何刪除等操做==

$ SRANDMEMBER key [count]

==移除集合中一個或者多個member,若是member不存在,將會被忽略==

$ SREM key member [member...]

返回全部集合中的並集

$ SUNION key [key...]

返回全部集合的並集,而且存儲到destination

$ SUNIONSTORE destination key [key...]

sortedset(有序集合)

==添加多個member及他們的score值到集合中==

$ ZADD key score member [score member...]

==返回zset的member數量==

$ ZCARD key

返回一個分數區間的值

$ ZCOUNT key min max

==爲一個member增長分數,若是不存在member,則等同於ZADD key score member==

$ ZINCRBY key increment member

==獲取一個區間的值,經過索引,從小到大==

$ ZRANGE key start stop [WITHSCORES]

==獲取一個區間的值,經過score,從小到大==

$ ZRANGEBYSCORE key min max [WITHSCORES]

==獲取某個member的排名,這個排名是從小到大==

$ ZRANK key member [WITHSCORES]

移除某些member

$ ZREM key member [member...]

移除特定排名的member

$ ZREMRANGEBYRANK key start stop

移除特定分數的member

$ ZREMRANGEBYSCORE key min max [WITHSCORES]

==經過索引獲取一個區間的值,與zrange不一樣的是,這個是從大到小==

$ ZREVRANGE key start stop [WITHSCORES]

==經過分數獲取一個區間的值,與zrangebyscore不一樣的是,這個是從大到小==

$ ZREVRANGEBYSCORE key max min [WITHSCORES]

==獲取某個member的排名,可是這個排名是從大到小==

$ ZREVRANK key member [WITHSCORES]

返回一個member的score

$ ZSCORE key member

合併幾個key的zset,查見文檔,太難看懂,也用的很少

相關文章
相關標籤/搜索