Redis資料類型學習

來源:互聯網
上載者:User

Redis是一個key-value的記憶體資料庫,value提供了String,List,Set,Sort Set,hash 5中資料結構。

命令和操作方法總結:自己一個個寫的,真麻煩啊,,,

一 Keys上的操作

1) DEL key [key...]
    刪除多個key,不存在的key,則忽略
    返回實際刪除了的key的個數

2) EXISTS key
    返回1和0表示key是否存在

3) EXPIRE key seconds
    設定key的存活時間

4) EXPIREAT key timestamp
    UNIX timestamp(seconds since January 1, 1970)來設定存活期

5) KEYS pattern
    返回match pattern的keys的列表

6) MOVE key db
    在當前資料庫中將key移動到指定的db中
    如果key在當前db中不存在或者指定的db中已有這個key,就不移動
    返回1或者0表示是否moved

7) OBJECT REFCOUNT <key>
    返回關聯到key上的引用的個數
    OBJECT ENCODING <key>
    返回key在資料庫內部的壓縮編碼方式
    OBJECT IDLETIME <key>
    返回key多久沒有被讀寫
   在2.2.3版本後才可使用,目前裝的是2.0.2版本,不支援

8) PERSIST key
    移除key上的時間限制屬性,使其永久存在
    版本2.1.2後有效

9) RANDOMKEY
    從資料庫隨機的返回一個key

10) RENAME key newkey
    重新命名一個key,其他不變

11) RENAMENX key newkey
    重新命名一個key,如果newkey已經存在時,命令失敗

12)SORT key [BY pattern] [LIMIT offset count] [GET pattern [GET pattern ...]] [ASC|DESC] [ALPHA] [STORE destination]
    各種排序方式

13) TTL key
    返回一個key還能在資料庫中存活多久(seconds)
    如果key不存在或者沒有時間限制,返回-1
    expire mykey可以設定一個key的存活時間

14) TYPE key
    返回key的類型(string,list,set...)

二 Strings

1) APPEND key value
    如果key不存在,建立一個新的key
    如果key已經存在,在value後apend,改變了value的值

2) DECR key
    key減1,對整型適用(或者以整型代表的字串)
    對其他類型,返回錯誤

3) DECRBY key decrement
    將key減少指定的這麼多
    如果key不存在,從零開始減少

4) GET key
    不解釋

5) GETRANGE key start end
    返回substring,包含開始和結束索引
    0代表第一個索引,-1最後一個索引

6) GETSET key value
    對已經存在的key,設定其新的value,並返回老的value
    如果key不是string類型,返回錯誤

7) INCR key
    增加,同上

8) INCRBY key increment
    同上,不解釋

9) MGET key [key ...]
    返回多個值

10) MSET key value [key value ...]
    同時設定多個key-value的值

11) MSETNX key value [key value ...]
    當有一個key已經存在時,整條命令都不執行

12) SET key value
    不解釋

13) SETEX key seconds value
    設定一個key並為它設定時間
    等同於下列命令:
    SET mykey value
    EXPIRE mykey seconds

14) SETNX key value
    SET if Not eXists,當key不存在時設定一個新的key
    否則,什麼也不做

15) SETRANGE key offset value
    從已存在key的offeset索引處用value代替以前的值
    版本2.1.8後有效

16) STRLEN key
    不解釋

三 Hashes

1) HDEL key field [field ...]
    刪除hash表(key)中的多個域
    對不存在的域忽略,返回實際刪除的域的個數

2) HEXISTS key field
    hash表(key)中是否存在域field

3) HGET key field
    從hash表中得到域field的值

4) HGETALL key
    返回hash表中的所有域和它對應的值

5) HINCRBY key field increment
    將hash表中指定域增加一個值

6) HKEYS key
    返回所有的域

7) HLEN key
    返回hash表的長度

8) HMGET key field [field ...]
    返回hash表多個域的值

9) HMSET key field value [field value ...]
    同上

10) HSET key field value
    設定一對值

11) HSETNX key field value
    僅當域不存在時設定

12) HVALS key
    返回所有的values

四 Lists

1) BLPOP key [key ...] timeout
    Remove and get the first element in a list, or block until one is available
    Lpop的blocking版本,在timeout時間時間內,pop第一個非空的key中的第一個元素(元素連同它所在的key一起返回)
    可以允許key中有空值,它會去找第一個非空的key
    如果都空,blocking發生作用,它會等待直到有一個key經過了lpush或rpush非空

2) BRPOP key [key ...] timeout     
    Remove and get the last element in a list, or block until one is available
    最後一個。同上

3) BRPOPLPUSH source destination timeout
    Pop a value from a list, push it to another list and return it; or block until one is available

4) LINDEX key index
    用索引擷取值(後進列表的索引在前)

5) LINSERT key BEFORE|AFTER pivot value
    將value插入在pivot之前或者之後

6) LLEN key
    不解釋

7) LPOP key
    pop並返回第一個值(索引0的值)

8) LPUSH key value [value ...]
    不解釋

9) LPUSHX key value
    同上一條的區別是,只有當key已經存在並非空時,才push一個value

10) LRANGE key start stop
    返回索引從start到stop的值

11) LREM key count value
    刪除|count|個value,count為正表示從左往右數,為負表示從右往左數
    0表示刪除全部值為value的項
    傳回值是實際刪除的個數

12) LSET key index value
    要設定的index範圍必須已存在

13) LTRIM key start stop
    trim一個list,保留start到stop之間的

14) RPOP key
    pop最後一個key

15) RPOPLPUSH source destination
    pop最後一個元素,append到另一個list裡,並返回這個值

16) RPUSH key value [value ...]
    加到列表最後

17) RPUSHX key value
    僅當列表已經非空時,加到列表最後

五 Sets

1) SADD key member
    如果member已存在,命令失效. 注意是集合,元素不能重複

2) SCARD key
    返回集合中元素的個數

3) SDIFF key [key ...]
    差集,在第一個集合中存在,但在其他集合中都不存在的元素

4) SDIFFSTORE destination key [key ...]
    同上,只是將返回的集合存在集合 destination中

5) SINTER key [key ...]
    交集

6) SINTERSTORE destination key [key ...]
    同上

7) SISMEMBER key member
    是否屬於一個集合

8) SMEMBERS key
    返回集合所有元素

9) SMOVE source destination member
    從一個set裡將元素移動到另一個set裡
    

10) SPOP key
    pop一個隨進的元素,因為集合是無序的

11) SRANDMEMBER key
    返回一個隨機的元素

12) SREM key member [member ...]
    移除一個或多個元素
    不在的元素忽略

13) SUNION key [key ...]
    並集

14) SUNIONSTORE destination key [key ...]
    同上

六 Sorted Sets

1) ZADD key score member [score] [member]
    增加一個或多個元素,如果該元素已經存在,更新它的socre值
    雖然有序集合有序,但它也是集合,不能重複元素,添加重複元素只會
    更新原有元素的score值

2) ZCARD key
    元素個數

3) ZCOUNT key min max
    SCORE值在min和max之間的元素的個數

4) ZINCRBY key increment member
    給有序集合key裡面的元素member增加increment
    若key不存在,建立一個key
    若member不存在,建立一個member,從0開始增加
    僅當key存在但類型不是有序集合時,出錯

5) ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
    
    nubberkeys指定要求交集的集合的個數
    將nubberkeys個集合求交集,結果放在集合destination中
    (如果des已存在,覆蓋它)
    
    參數[WEIGHTS weight [weight ...]]
    指定求交集集合的權重,在計算新的score時使用

    參數[AGGREGATE SUM|MIN|MAX]
    當兩個集合中有同一個名字的元素,但score不同時,指定取哪一個score
    的元素

6) ZRANGE key start stop [WITHSCORES]

    索引start到stop處的元素

7) ZRANGEBYSCORE key min max [WITHSCORES]
    score在min到max之間的元素

8) ZRANK key member
    返回menber的索引(score從低到高升序排列)

9) ZREM key member [member ...]
    不解釋

10) ZREMRANGEBYRANK key start stop
    不解釋

11) ZREMRANGEBYSCORE key min max
    不解釋

12) ZREVRANGE key start stop [WITHSCORES]
    返回索引之間的元素

13) ZREVRANGEBYSCORE key max min [WITHSCORES]
    同上,返回score區間內的

14) ZREVRANK key member
    同8),score降序

15) ZSCORE key member
    不解釋

16) ZUNIONSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
    
    求並集,其他同5)求交集

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.