1. 程式人生 > >淺談redis常用存值方式

淺談redis常用存值方式

redis常用的操作:k-v,list,set(set有一般set,hset,zset),在詳細介紹這些之前先介紹幾種常用的redis命令,希望能有所幫助:

1.前言

    1.auth + pwd       驗證進入redis命令

    2.flushall(情況整個redis),謹慎使用該命令[類似資料庫的drop database]

    3.fushdb     清空當前選中庫的所有redis命令[類似資料庫的drop table]

    4.select        選擇將要操作的庫

2.k-v存值方式(我用的treeNMS-1.5.0工具)

     1.存值:set(key,value)    預設是永不過期

     2.取值:get(key)

     3.正則取值:keys("*")   (*代表正則表示式)

     4. 設定過期時間:expire(key,livetime);     (livetime最好寫成全域性變數這樣方便統一)

     5. 刪除單個:del(key) 

3.list存值方式
    該處list就是一個雙向連結串列,用於訊息佇列之類操作

    1.存值 lpush("key","data")    data一般為一個json串.追加到列隊左邊(頭)

               rpush(key,data)         追加到列隊右邊(尾)

    2.取值 lpop(key)        取出連結串列的左邊第一個元素,並且刪除

               rpop(key)       取出連結串列右邊第一個元素,並且刪除

               lrange(key,begin,end)    取出start到end的元素,end=-1時為取出後面所有

               lget(key,index)        取出該list某個位置的值(index為從0開始)

    3.特定存值

        lset(key,index,data)        設定某個位置的值為data

    4.長度判斷: llen(key)          返回某個列表長度

                        lsize                返回列表key長度

4.set存值
    

    1.存值: sadd(key,value)    存入set,key沒有則成功,有則返回失敗

    2.刪除: srem(key,value)   刪除set中的key

    3.判斷是否存值某個值:

            sIsmember(key,value)    結果返回bool型別值

    4.大小判斷:

        scard(key)        返回該set的大小

 5.hash存值
    

    1.存值:hset(key,v1,v2)    如果v1存在則替換,不存在則新增

       多存:hmset(key,array('name' => 'dom', 'sex' => 1))

    2.取值:hget(key,v1)        取值

       多取:hmget(key,array('v1', 'vv')

        取key: hKeys(key)          獲取該key下的所有元素

    3.獲取長度:hlen(key)    返回該hash集合長度

    4.刪除:hdel(key,v1)        刪除hash集合中的某個值

    5.判斷是否存在:hExists(key,v1)    判斷集合中是否存在該值

6.zset存值

  zset對比hash,存值類似,但是zset比hash多了自動排序功能,zset可以根據v1自動排序,預設為順序排序

  常用於做排行榜

   1.存值:zadd(key,v1,v2)   v1作為排序標準,v2固定引數

    2.取值:

            倒序:ZREVRANGE(key,start,end,WITHSCORES)    end=-1則代表所有

            順序:ZRANGE(key,start,end,WITHSCORES)      withscores: 是否輸出socre的值

特定取值:zscore(key,v2)    取出v2的score

    3.獲取長度:zcard(key)    返回該key的長度

    4.獲取排序號:zrank(key,v2)    獲取v2的排序號(順序)

    5.刪除:zrem(key,v2)        根據v2刪除

    6.給指定元素加分:zincrby(key,incrby,v2)  

有些不常用的命令沒有寫出來,歡迎留言指正博文中存在的問題,或交流學習中遇到的問題!