詳解Redis基本命令

       當redis環境搭建結束後,接下來須要掌握並瞭解redis的一些相關命令,本篇文章主要從實際操做的層面來與你們分享redis基本命令,正則表達式

具體包括:Redis五大基本類型命令(Strings,Lists,Hashes,Sets和Sort Sets)和Keys相關命令。redis

一  Strings

1. SET數據庫

 SET 命令用於建立K/V,在建立K/V時,能夠添加一些約束條件,如過時時間緩存

 定義:SET key value[expiration EX seconds|PX milliseconds] [NX|XX]app

  • EX seconds – 以秒爲單位設置key過時時間
  • PX milliseconds – 以毫秒爲單位設置key過時時間
  • NX – 若是key不存在,則設置key
  • XX – 若是key存在時,則設置key

2.GET異步

GET命令用於經過key查詢value編碼

定義:GET keyspa

3.APPENDdebug

APPEND命令用於追加內容,若key存在,則在該key的value後追加值;若key不存在,則先建立key,再添加value;unix

定義:APPEND key value

4.BITCOUNT

計算value指定索引區間的爲1的個數

定義:BITCOUNT key start end

5.BITFIELD

6.BITTOP

進行value的位操做,且將結果保存在destkey中

定義:BITOP operation destkey key1 [key2 ..]

7.BITP0S

命令返回字符串裏面第一個被設置爲1或者0的bit位

定義:BITPOS key bit start end

8.DECR

DECR命令用於將可轉化爲int類型的key值減1,須要注意的是,當key值不可轉化爲數值時,會出錯

定義:DECR

8.DECRBY

DECRBY與DECR原理差很少,只不過DECRBY是減去多少。

定義:DECRBY key decrement

9.GETBIT

獲取key的value值在指定offset處的bit值

定義:GETBIT key offset

10.GETRANGE

GETRANGE表示截取key相應位置的字符串

定義:GETRANGE key start end

11.GETSET

設置key的value值,並返回設置前的值

定義:GETSET key value

12.INC

自動加1

定義:INC key

13.INCBY

在當前key值基礎上增長值

定義:INCBY key increment

14.INCRBYFLOAT\

在當前key值基礎上增長浮點數

定義:INCRBYFLOAT key increment

15.MGET

批量返回指定key和value

定義:MGET key [key..]

16.MSET

批量設置多個key和value

定義:MSET key value [key value ..]

17.MSETNX

在批量設置key時,單批量設置中,只要有一個key已經存在,則該批設置所有取消,因爲這種特性,

MSETNX能夠實現要麼全部的操做都成功,要麼一個都不執行,這樣能夠用來設置不一樣的key,來表示一

個惟一的對象的不一樣字段。

定義:MSETNX key value [key value ...]

18.PSETEX

設置過時時間,以毫秒爲單位

定義:PSETEX  key  miliseconds  value

19.SETBIT

在key的value指定offset處設置bit值,而且返回offset處原來的bit值

定義:SETBIT key offset value

20.SETEX

設置k/v同時,設置過時時間

定義:SETEX key seconds value

21.SETNX

該命令與SET命令差很少,惟一區別是SETNX設置key時,若key不存在,則建立並添加value值,不然,不操做

定義:SETNX key value

22.SETRANGE

從value值的offset處,用新value替換。

定義:SETRANGE key offeset value

23.STRLEN

返回key的value的字符串長度

定義:STRLEN key

二 Hashes

(一)概述

(二)命令操做

1.HSET

設置hash單個值

定義:HSET key filed value 

2.HGET

獲取hash字段值

定義:HGET key field 

3.HDEL

刪除key的指定字段

定義:HDEL key field

4.HMSET

設置key的多個字段

定義:HMSET key value [key value ..]

5.HMGET

獲取key的多個字段值

定義:HMGET key field [field..]

6.HGETALL

返回key指定哈希集中全部字段和值

定義:HGETALL key

7.HEXISTS

檢查key中是否存在指定的field,存在返回1,不存在返回0

定義:HEXISTS key field

8.HKEYS

返回hashs的key的字段

定義:HKEYS key

9.HVALS

返回 key 指定的哈希集中全部字段的值

定義:HVALS key

10.HLEN

返回 key 指定的哈希集包含的字段的數量

定義:HLEN key

11.HSTRLEN

返回key的指定字段的字符串長度

定義:HSTRLEN key field

12.HINCRBY

指定字段增減指定值

定義:HINCRBY key field increment

13.HINCRBYFLOAT

指定字段增長指定浮點數

定義:HINCRBYFLOAT key field increment

11.HSCAN

12.HSETNX

與HSET功能同樣,區別在於HSETNX會先判斷field是否存在,若存在,則不作任何操做

定義:HSETNX key filed value

三  Lists

1.RPUSH

從隊列右端壓入數據到List,一次能夠壓入單個或多個數據

定義:RPUSH key value [value ..]

2.RPOP

從List移除元素,並返回被移除的元素

定義:RPOP key

3.LPUSH

從List左側壓入元素,返回壓入後的List長度

定義:LPUSH key value [value ..]

4.LPOP

從List左側移除元素,並返回被移除的元素

定義:LPOP key

5.LLEN

返回key對應的List長度

定義:LLEN key

6.LSET

設置key指定index處的值

定義:LSET key index value

7.LINDEX

返回指定index處的value值

定義:LINDEX key index

8.LINSERT

在List指定value前或後插入元素

定義:LINSERT key BEFORE|AFTER pivot value

9.LREM

從頭或從尾移除前count次出現value的值,count爲正數,則從頭向尾開始;count爲負數,則從

尾向頭開始;count爲0,移除全部爲value的值

定義:LREM key count value

10.LTRIM

截取List指定區間的值

定義:LTRIM key start stop

11.LRANGE

獲取List指定索引區間的值

定義:LRANGE key start end

12.LPUSHX

與LPUSH功能同樣,都是插入從左側插入元素,區別是,LPUSHX在插入元素

前,先判斷key是否存在,只有key存在時,才插入元素。

定義:LPUSHX key value

13.RPUSHX

功能與RPUSH同樣,區別是RPUSHX在插入元素前,先判斷key是否存在,

只有key存在時,才插入元素。

定義:RPUSHX key value

14.RPOPLPUSH

從指定key中移除元素,且將移除的元素存放在另外一個key中,返回被移除和放入的元素

定義:RPOPLPUSH source destination

15.BRPOPLPUSH

BRPOPLPUSH 是RPOPLPUSH的阻塞版本。 當 source 包含元素的時候,這個命令表現

得跟RPOPLPUSH如出一轍。 當 source 是空的時候,Redis將會阻塞這個鏈接,直到

另外一個客戶端 push 元素進入或者達到 timeout 時限。 timeout 爲 0 能用於無限期阻塞

客戶端

定義:BRPOPLPUSH key source destination timeout

16.BLPOP

BLPOP是阻塞式列表的彈出原語

定義:BLPOP key [key ..] timeout

17.BRPOP

BRPOP是一個阻塞的列表彈出原語

定義:BRPOP key [key ..] timeout

四  Sets

1.SADD

向Sets中添加元素,一次可添加單個或多個

定義:SADD key member [member..]

2.SMEMBERS

查看key全部元素

定義:SMEMBERS key

3.SCARD

返回key元素個數

定義:SCARD key

4.SISMEMBER

判斷key中是否存在某個元素,存在返回1,不存在返回0

定義:SISMEMBER key member

5.SREM

定義:SREM key members [members ..]

6.SMOVE

從指定key移除元素到目標元素,移除成功返回1,不然返回0

定義:SMOVE

7.SPOP

從sets中隨機取count個元素,返回隨機取出的元素

定義:SPOP key [count]

8.SRANDMEMBER

從sets中隨機返回count個元素

定義:SRANDMEMBER 

9.SDIFF

返回集合差集

定義:SDIFF  key [key ..]

10.SDIFFSTORE

SDIFFSTORE命令與SDIFF命令功能同樣,區別是SDIFFSTORE將差集的結果存放在destination中

定義:SDIFFSTORE destination key [key ..]

11.SINTER

定義:SINTER key [key..]

12.SINTERSTORE

SINTERSTORE功能與SINTER是同樣的,都是返回差集,區別是SINTERSTORE將差集存在

destination中

定義:SINTERSTORE destination key [key..]

13.SUNION

SUNION返回並集

定義:SUNION key [key..]

14.SUNIONSTORE

SUNIONSTORE功能與SUNION同樣,都是返回並集,區別是SUNIONSTORE

將並集存放在destination中

定義:SUNIONSTORE destinaiton key [key..]

15.SCAN

五 Sorted Sets

1.ZADD

添加新值

定義:ZADD key [NX|XX] [CH] [INCR] score member [score member]

2.ZRANGE

獲取指定key的索引範圍內的值,可只獲取值或帶權重的值。

定義:ZRANGE key start end [WIHTSCORES]

3.ZSCORE

返回成員的score

定義:ZSCORE key member

4.ZREM

從key中移除元素

定義:ZREM key member [member..]

5.ZRANK

返回有序集key中membe排名

定義:ZRANK key member

6.ZCOUNT

計算介於score範圍內的元素個數

定義:ZCOUNT key min max

7.ZCARD

返回key的有序集個數

定義:ZCARD key

8.ZPOPMIN

從key中移除count個socre最低的元素

定義:ZPOPMIN key [count]

9.ZPOPMAX

從key中移除count個socre最高的元素

定義:ZPOPMAX

10.ZINCRY

爲有序集key的成員member的score值加上增量increment,返回增量後的

score

定義:ZINCRY key increment member

11.BZPOPMIN

功能與ZPOPMIN同樣,區別是BZPOPMIN帶有阻塞

定義:BZPOPMIN key [key..] timeout

12.BZPOPMAX

功能與ZPOPMAX同樣,區別是BZPOPMAX帶有阻塞

定義:BZPOPMAX key [key..] timeout

13.ZINTERSCORE

計算有序集合的交集,其中destination用來存放交集結果,mumkeys指用於計算交集key的個數

,weight表示計算交集時,score乘以的權重,默認爲1

定義:ZINTERSCORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

14.ZUNIONSTORE

用法與ZINTERSCORE同樣,只不過是計算有序集合的並集

定義:ZUNIONSTORE destination mumkeys key [key..] [weights weight] [SUM|MIN|MAX]

15.ZLEXCOUNT

ZLEXCOUNT 命令用於計算有序集合中指定成員之間的成員數量

定義:ZLEXCOUNT key min max

16.ZRANGEBYLEX

ZRANGEBYLEX 返回指定成員區間內的成員,按成員字典正序排序, 分數必須相同

定義:ZRANGEBYLEX key min max [limit offset count]

17.ZRANGBYSCORE

根據分數方位查找元素

定義:ZRANGBYSCORE key min max [withscores] [limit offset count]

18.ZREMRANGEBYRANK

移除有序集key中,指定排名(rank)區間內的全部成員

定義:ZREMRANGEBYRANK key start stop

19.ZREMRANGBYSCORE

移除有序集key中,全部score值介於min和max之間(包括等於min或max)的成員

定義:ZREMRANGBYSCORE key min max

20.ZREVRANGE

返回有序集key中,指定區間內的成員。其中成員的位置按score值遞減(從大到小)來排列。

具備相同score值的成員按字典序的反序排列。 除了成員按score值遞減的次序排列這一點外

定義:ZREVRANGE key start stop [withscores]

21.ZREVRANGEBYLEX

ZREVRANGEBYLEX 返回指定成員區間內的成員,按成員字典倒序排序, 分數必須相同

定義:ZREVRANGEBYLEX key min max

22.ZREVRANGEBYSCORE

返回有序集合中指定分數區間內的成員,分數由高到低排序

定義:ZREVRANGEBYSCORE key min max

23.ZREVRANK

返回有序集key中成員member的排名,其中有序集成員按score值從大到小排列。

排名以0爲底,也就是說,score值最大的成員排名爲0

定義:ZREVRANK key member

24.ZSCAN

定義:ZSCAN key cursor [math pattern] [count count]

六 Keys

1.DEL

刪除key

定義:DEL key [key...]

2.DUMP

序列化key

定義:DUMP key

3.RESTORE

反序列化

定義:RESTORE key ttl serialeze-value [replace]

4.EXISTS

判斷key是否存在,存在返回1,不存在返回0

定義:EXISTS key

5.EXPIRE

設置過時時間,以秒爲單位

定義:EXPIRE seconds

6.EXPIREAT

EXPIREAT的做用和EXPIRE相似,都用於爲 key 設置生存時間。

不一樣在於EXPIREAT命令接受的時間參數是 UNIX 時間戳 Unix timestamp

定義:EXPIREAT key timespan

7.KEYS

查看key,其中pattern知足正則表達式

定義:KEYS pattern

8.MIGRATE

定義:MIGRATE host port key destination-db timeout [copy] [replace]

9.MOVE

Redis MOVE 命令用於將當前數據庫的 key 移動到給定的數據庫 db 當中

定義:MOVE key db

10.OBJECT

OBJECT 命令能夠在內部調試(debugging)給出keys的內部對象,它用於檢查或者了

解你的keys是否用到了特殊編碼 的數據類型來存儲空間z。 當redis做爲緩存使用的時候,

你的應用也可能用到這些由OBJECT命令提供的信息來決定應用層的key的驅逐策略(eviction policies)

定義:OBJECT subcommand [arguments [arguments..]]

11.PERSIST

持久化key

定義:PERSIST key

12.PEXPIRE

它以毫秒爲單位設置 key 的生存時間

定義:PEXPIRE key milliseconds

13.PEXPIREAT

以毫秒爲單位設置 key 的過時 unix 時間戳

定義:PEXPIREAT key milliseconds-timestamp

14.PTTL

以毫秒爲單位返回 key 的剩餘生存時間,功能與TTL差很少

定義:PTTL key

15.RANDOMKEY

從當前數據庫隨機返回一個key

定義:RANDOMKEY

16.RENAME

給key從新命名

定義:RENAME key newkey

17.RENAMENX

當且僅當 newkey 不存在時,將 key 更名爲 newkey ,成功返回1,失敗返回0

定義:RENAMENX key newkey

18.SCAN

增量迭代集合元素

定義:SCAN  cursor [match pattern] [count count]

19.SORT

排序

定義:SORT key [by pattern] [limit offset count] [get pattern] [asc|desc] [alpha] destination

20.TOUCH

修改key最後訪問時間

定義:TOUCH key [key..]

21.TTL

計算key過時剩餘時間,返回剩餘的秒數

定義:TTL key

22.TYPE

返回key類型

定義:TYPE key

23.UNLINK

異步刪除keys

定義:UNLINK key [key..]

24.WAIT

當前鏈接的寫操做會產生日誌偏移,該命令會返回已處理至該偏移量的slaves的個數

定義:WAIT numslavess timeout

七  版權區

  •    轉載博客,必須註明博客出處
  •    博主網址:http://www.cnblogs.com/wangjiming/
  •    如您有新想法,歡迎提出,郵箱:2098469527@qq.com
  •   專業.NET之家技術QQ羣:490539956
  •   專業化Java之家QQ羣:924412846
  •   有問必答QQ羣:2098469527
  •   一對一技術輔導QQ:2098469527
相關文章
相關標籤/搜索