Redis數據庫的命令行操做

Redis簡介:redis

1.Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基於內存亦可持久化的日誌型、Key-Value數據庫,並提供多種語言的API。數據庫

2.幾個特色:緩存

存儲的數據類型網絡

         字符串,散列,列表,集合,有序集合數據結構

內存存儲持久化spa

         內存讀寫速度快,持久化到硬盤(RDB,AOF).net

功能豐富命令行

         可用於緩存,隊列,消息訂閱發佈日誌

         支持鍵的生存時間排序

         按照必定規則刪除鍵

簡單穩定

         比SQL穩定簡單

         支持多種客戶端

         c語言開發,3萬行代碼

3.有5種數據結構,分別是:String,  List,  Hash,  Set,  SortedSet.

4.有2種持久化機制,分別是:RDB,AOF。(見下一篇文章)

下面說一下這幾種數據類型的命令行操做

1.String

1). set key value : 將字符串值 value 關聯到 key 。若是 key 已經持有其餘值, SET 就覆寫舊值,無視類型.

2). get key : 返回 key 所關聯的字符串值。若是key 不存在那麼返回特殊值 nil 。

3). MSET key value [key value ...] : 同時設置一個或多個key-value 對。若是某個給定 key 已經存在,那麼 MSET 會用新值覆蓋原來的舊值

4). MGET key [key ...] : 返回全部(一個或多個)給定 key 的值。若是給定的 key 裏面,有某個 key 不存在,那麼這個 key 返回特殊值 nil 。

5). MSETNX key value [key value ...] : 同時設置一個或多個key-value 對 . 即便只有一個給定 key 已存在, MSETNX 也會拒絕執行全部給定 key 的設置操做。

6). APPEND key value : 若是 key 已經存在而且是一個字符串,APPEND 命令將 value 追加到 key 原來的值的末尾。若是 key 不存在, APPEND 就簡單地將給定 key 設爲 value

7). INCR key : key 中儲存的數字值增一。(使用普遍,好比商品存儲時,使用redis統一管理id)

8). DECR key : key 中儲存的數字值減一。

9). INCRBY key increment : 將 key 所儲存的值加上增量increment 。

10). DECRBY key decrement : 將 key 所儲存的值減去減量decrement 。

11). GETSET key value : 將給定 key 的值設爲 value ,並返回 key 的舊值(oldvalue)。

12). STRLEN key : 返回 key 所儲存的字符串值的長度

13). SETNX key value : 將 key 的值設爲 value ,當且僅當 key 不存在。若給定的 key 已經存在,則 SETNX 不作任何動做。

14). SETEX key seconds value : 將值 value 關聯到 key ,並將 key 的生存時間設爲seconds (以秒爲單位)。

15). SETRANGE key offset value : 用 value 參數覆寫(overwrite)給定 key 所儲存的字符串值,從偏移量offset 開始。

16). GETRANGE key start end : 返回 key 中字符串值的子字符串,字符串的截取範圍由 start 和 end 決定(包括 start 和 end 在內)。

17). SETBIT key offset value : 對 key 所儲存的字符串值,設置或清除指定偏移量上的位(bit)。

18).GETBIT key offset : 對 key 所儲存的字符串值,獲取指定偏移量上的位(bit).

2.List

1). LPUSH key value [value ...] : 將一個或多個值 value插入到列表 key 的表頭.

2). LRANGE key start end : 返回列表 key 中指定區間內的元素,區間以偏移量 start 和 end 指定。

3). LPUSHX key value : 將值 value 插入到列表 key 的表頭,當且僅當 key 存在而且是一個列表。

4). LPOP key : 移除並返回列表 key 的頭元素。

5). LLEN key : 返回列表 key 的長度。

6). LREM key count value : 根據參數 count 的值,從頭部開始移除列表中與參數 value 相等的元素。

7). LSET key index value : 將列表 key 下標爲 index 的元素的值設置爲value 。

8). LINDEX key index : 返回列表 key 中,下標爲 index 的元素。

9). LTRIM key start end : 對一個列表進行修剪(trim),就是說,讓列表只保留指定區間內的元素,不在指定區間以內的元素都將被刪除。

10). LINSERT key BEFORE|AFTER pivot value :將值 value 插入到列表 key 當中,位於值 pivot 以前或以後。

11). RPUSH key value [value ...] : 將一個或多個值 value插入到列表 key 的表尾(最右邊)。

12). RPUSHX key value : 將值 value 插入到列表 key 的表尾,當且僅當 key 存在而且是一個列表。

13). RPOP key : 移除並返回列表 key 的尾元素。

14).RPOPLPUSH source destination : 在一個原子時間內,執行兩個動做:將列表 source 中的最後一個元素(尾元素)彈出,並返回給客戶端。將 source 彈出的元素插入到列表 destination ,做爲 destination 列表的的頭元素。

3.Hash

1). HSET key field value : 將哈希表 key 中的域 field 的值設爲 value 。

2). HGET key field : 返回哈希表 key 中給定域 field 的值。

3). HSETNX key field value : 將哈希表 key 中的域 field 的值設置爲 value ,當且僅當域 field 不存在。

4). HEXISTS key field : 查看哈希表 key 中,給定域 field 是否存在。

5). HLEN key : 返回哈希表 key 中域的數量。

6). HDEL key field [field ...] : 刪除哈希表 key 中的一個或多個指定域,不存在的域將被忽略。

7). HINCRBY key field increment : 爲哈希表 key 中的域 field 的值加上增量increment 。

8). HGETALL key : 返回哈希表 key 中,全部的域和值。

9). HKEYS key : 返回哈希表 key 中的全部域。

10). HVALS key : 返回哈希表 key 中全部域的值。

11). HMSET key field value [field value...] : 同時將多個 field-value (域-值)對設置到哈希表 key 中。

12). HMGET key field [field ...] : 返回哈希表 key 中,一個或多個給定域的值.

4.Set

1). SADD key member [member ...] : 將一個或多個 member元素加入到集合 key 當中,已經存在於集合的 member 元素將被忽略。

2). SMEMBERS key : 返回集合 key 中的全部成員。

3). SCARD key : 返回集合 key 的基數(集合中元素的數量)。

4). SISMEMBER key member : 判斷 member 元素是否集合 key 的成員。

5). SPOP key : 移除並返回集合中的一個隨機元素。

6). SRANDMEMBER key  : 若是命令執行時,只提供了 key 參數,那麼返回集合中的一個隨機元素。

7). SREM key member [member ...] : 移除集合 key 中的一個或多個member 元素,不存在的 member 元素會被忽略。

8). SMOVE source destination member : 將 member 元素從 source 集合移動到destination 集合。SMOVE 是原子性操做。

9). SDIFF set1 set2 : 返回一個集合的所有成員,該集合是全部給定集合之間的差集。

10). SDIFFSTORE diffSet set1 set2 : 這個命令的做用和SDIFF 相似,但它將結果保存到 destination 集合,而不是簡單地返回結果集。

11). SUNION set1 set2 : 返回一個集合的所有成員,該集合是全部給定集合的並集。

12). SUNIONSTORE unionset set1 set2 : 這個命令相似於SUNION 命令,但它將結果保存到 destination 集合,而不是簡單地返回結果集。

13). SINTER set1 set2 : 返回一個集合的所有成員,該集合是全部給定集合的交集。

14).  SINTERSTORE interset set1 set2: 這個命令相似於 SINTER 命令,但它將結果保存到 destination 集合,而不是簡單地返回結果集。

5.SortedSet

1). ZADD key score member [[scoremember]  ...] : 將一個或多個 member元素及其 score 值加入到有序集 key 當中。

2). ZCARD key : 返回有序集 key 的元素個數。

3). ZINCRBY key increment member : 爲有序集 key 的成員 member 的 score 值加上增量increment 。

4). ZCOUNT key min max : 返回有序集 key 中, score 值在 min 和 max 之間(默認包括 score 值等於 min 或 max )的成員的數量。

5). ZRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定區間內的成員。其中成員的位置按 score 值遞增(從小到大)來排序。(按照排名取)

6). ZREVRANGE key start end [WITHSCORES] : 返回有序集 key 中,指定區間內的成員。其中成員的位置按 score 值遞減(從大到小)來排列。(按照排名取)

7). ZRANGEBYSCORE key min max [WITHSCORES][LIMIT offset count] : 返回全部 score 值介於 min 和 max 之間(包括等於 min 或 max )的成員。有序集成員按 score 值遞增(從小到大)次序排列。

8). ZREVRANGEBYSCORE key max min[WITHSCORES] [LIMIT offset count] : 返回score 值介於 max 和 min 之間(默認包括等於 max 或 min )的全部的成員。有序集成員按score 值遞減(從大到小)的次序排列。

9). ZRANK key member : 返回有序集 key 中成員 member 的排名。其中有序集成員按score 值遞增(從小到大)順序排列。

10). ZREVRANK key member : 返回有序集 key 中成員 member 的排名。其中有序集成員按score 值遞減(從大到小)排序。

11). ZSCORE key member : 返回有序集 key 中,成員 member 的 score 值。

12). ZREM key member [member ...] : 移除有序集 key 中的一個或多個成員,不存在的成員將被忽略。

13). ZREMRANGEBYRANK key start stop : 移除有序集 key 中,指定排名(rank)區間內的全部成員。區間分別如下標參數 start 和 stop 指出,包含 start 和 stop 在內。

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

本文同步分享在 博客「IT雲清」(CSDN)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。

相關文章
相關標籤/搜索