1. 程式人生 > >Redis3.0.4基礎操作(一)

Redis3.0.4基礎操作(一)

    安裝: Centos7,裝好GCC(yum install gcc),解壓redis.tar.gz ,進redis目錄,make   然後 makeinstall

 

    1 ‘redis-server /myredis/redis.conf  ’ 啟動redis服務

    2 ‘redis-cli -p 6379 ’   

    3  ‘select  庫Index   ’(預設16,即最高15)              切換庫

    4     ' keys *  '        檢視所有的key 

    5     'keys   x*'       檢視所有以x開頭的key

    6    ''set  key名稱  Value             設值

    7     'get  key名稱  '           獲取key的對應value

    8   'FLUSHDB  '        清空當前庫

    9   'FLUSHAll'           清空所有庫

    10 'DBSIZE    '           檢視當前庫的key的數量

    11  Redis 索引預設從0開始, 埠預設6379 

 

    Redis常用的五大資料型別:String、Hash、List、Set、ZSet(sorted set 有序集合)

    ZSet和Set一樣也是String型別元素的集合。而且不允許重複的成員,不同的是每個元素都會關聯一個double型別的分數,Redis正是通過分數來為集合中的成員進行從小到大的排序(類似鬥地主120人賽的積分排序),ZSet的成員是唯一的,但是分數(score)卻可以重複。

-----------------------------------------------------------------------------------------------------------------------------------------

    String :

    redis常見資料型別的操作命令:http://redisdoc.com

    12 'EXISTS key名字'     判斷某個key是否存在?1:0

    13 'MOVE key名字  DB的索引 '        將當前key移動到某個DB裡

    14‘EXPIRE key名字  秒鐘數’       設定某個key的存活時間,時間到了就消失

    15‘ttl key名字’      檢視某個key還有多少秒過期       -1表示永不過期   -2表示已過期

    16‘type key’     檢視key 的型別

    17‘setnx key名字 value’       給key設定,前提是這個key不存在,若存在,沒反應

    18‘INCR/DECR/INCRBY/DECRBY’+key  |  +key + int             讓對應的value值變化,前提必須是數字

    19 ‘setrange  key + 位數 + ‘內容’ /getrange key +  區間’          給對應的value的對應區間設定值,或者取到某個value對應缺件的值

    20         ’ STRLEN / APPEND /DEL    +key‘  檢視對應value的長度,以及追加對應的value,以及刪除key

    21         'mset k1 v1 k2 v2'   'mget k1 k2'        設多個key,取多個key 

    22      ‘msetnx  k3 v3  k4 v4’    設多個key,前提是 這些key不存在,若存在,則失敗

    -------------------------------------------------------------------------------------------------------------------------------------       List:

    23  ‘lpush /rpush  列表名  元素內容’   新建一個列表,(從左進入或者從右進入)  每個索引上的值,用空格隔開 
           ‘lrange  列表名  區間’  獲取列表對應區間的值      。 若要全部檢視,則是 ‘lrange 列表名  0 -1’

    24   ‘lpop’/‘rpop’ + 列表名             讓對應列表的最左或者最右元素出棧   

    25   ‘lindex’+ 列表名 + 索引               按照索引獲得對應列表的元素         

    26  ‘llen’+ 列表名                                  獲取對應列表的長度

    27  ‘lrem + 列表名 + 刪除個數  +要刪除的元素’         刪除列表裡的重複元素,指定個數                                         

    28  ‘ ltrim +列表名 +區間  ’        擷取該列表的區間的元素,並且將該列表的值置為 擷取到的元素                                  

    29  ‘rpoplpush ’ 源列表 目標列表        將源列表的右邊第一個出棧,並且置於目標列表最左側

    30   ‘lset +列表名 +index+ value’           將列表的對應索引的值更改為value                  

    31   ‘linsert+ 列表名+ before/after+ 元素  插入值’      將列表裡指定元素的之前或者之後 插入 數值

    
-----------------------------------------------------------------------------------------------------------------------------------------

   Set:

    32 ‘sadd   集合名   集合元素     ’                      新建一個集合,集合元素即集合後面指定的

          ‘   smembers   + 集合名 ’                          檢視集合裡的所有元素

          ‘   sismember  +  集合名 + 元素值  ’          判斷某個集合裡面是不是有該元素?1:0

    33 ‘scard  集合名’                                            檢視集合裡面的元素個數

    34    srem +集合名 +  value                                  刪除集合中的某個元素                                               

    35    srandmember 集合名  整數                           隨機展示集合中的【整數】個元素    

    36    spop + 集合名                                               某個元素隨機出棧  ,消失                             

    37    smove 集合1  集合2  在集合1的1個值            將集合1的1個值移動到集合2 

    38    差集:   SDIFF set01 set02                            取集合1的和集合2的差集,但是是以集合1作為標準的,也就是取集合1裡有的,集合2裡沒有的。

            交集: SINTER set01 set02                     取集合1和集合2 的公共部分

            並集: SUNION set01 set02                   取集合1和集合2 的並集

-----------------------------------------------------------------------------------------------------------------------------------------
Hash:

     39‘hset   雜湊名 key名 value ’              建立一個雜湊1 , 以及裡面的一對key/value 
     40‘hget   雜湊名  key名’                       取雜湊裡的對應key的value
     41  ‘hmset   雜湊名  k/v   k/v    ’                 建立一個雜湊,以及同時指定裡面的多對 key/value

     42  ‘hmget   雜湊名  k1 k2 ...   ’                  一次查詢出來 雜湊裡的多個key
     43  ‘hgetall   雜湊名     ’                              取出 雜湊裡的所有key  /value           
     44   ‘hdel    雜湊名  key名   ’                        刪除雜湊裡的指定的key                                                                        
     45 ‘ hlen    雜湊名  ’                                    獲取到此雜湊的長度  (1個key/value算1)

     46  ‘hexists  key名    ’                                  判斷某個key是否存在於雜湊中
     47   ‘hkeys  / hvals    + 雜湊名’                    顯示此雜湊裡的所有key/所有value     

     48  ‘hincrby  雜湊名 key名  int數值 ’           讓此雜湊裡的key 值加  數值                        
     49  ‘hincrbyfloat 雜湊名 key名  float數值   讓此雜湊裡的key 值加  數值           
     50   ‘hsetnx  雜湊名  key名 value  ’               增加一對key/value 給此雜湊     前提是增加的鍵值對是之前不存在的
-----------------------------------------------------------------------------------------------------------------------------------------

ZSet    
     51、   ‘ zadd  zset名 元素1/score  元素2/score 元素3/score ’  建立一個zset,裡面有3個元素以及每個元素對應的score
     52、   ‘zrange  zset名   0  -1 ’             檢視這個zset裡面的所有元素

     53、   ‘zrangebyscore  zset名 開始score 結束score’     檢視這個zset裡,score區間對應的元素
     54、 ‘zrem zset名  某個value’      刪除某個zset裡的某個元素(即value)  //value刪除後,score自動也沒了 

     55、‘zcard + zset名’                           獲取zset裡的元素個數
     56、‘zcount zset名 score區間’               獲取zset裡 score區間的元素個數

     57、‘zrank zset名 元素名’                    檢視當前元素在zset裡的排名                        
     58、‘zrevrank zset名 元素’             檢視當前元素的逆序

     59、‘zrevrange  zset名  0  -1’        逆序輸出zset裡的元素排名 (52的逆序)

     60 、 ‘zrevrangebyscore  zset名 結束score  開始score’        逆序

     61 、 ‘ZSCORE  zset名 元素’        檢視這個元素所對應的score

 

     62、 ‘MULTI’            開啟事務     (成功後返回OK) 
         事務開啟時候,命令都將進入佇列。
         ‘EXEC’             執行事務      (執行佇列裡的命令,要麼全部成功,要麼全部失敗)(注意:如果在事務開啟時,加入了非           法操作,此條操作直接,報出ERROR,沒有加入佇列,EXEC會導致事務全部失敗,而在事務開啟時,加入了非法操作,           但是這 個操作已經加入了佇列,則在執行事務時候,正常操作正常執行,非法操作會出錯,不會導致全部失敗。類似受檢查異常和執行  時異常,部分支援事務,即不保證原子性,沒有回滾)
         ‘   DISCARD’           放棄事務      (事務所執行的命令以及部分改動全部取消)

    63、 ‘ UNWATCH  ’         取消WATCH命令對所有Key 的監視
    64、 ‘WATCH’  key.../[key]       //類似樂觀鎖    監視一個或者多個key,如果在事務執行之前,這個key或者這些key被其他命令      所改動,那麼事務將被打斷。       

    訊息的訂閱和釋出:先訂閱,然後再給頻道釋出內容後,才能收到訊息

      65、 訂閱頻道: SUBSCRIBE  頻道號(比如a)       //也可以一次訂閱多個頻道     eg: SUBSCRIBE a b c       

     也可用萬用字元 *  :PSUBSCRIBE  cctv*                   //當給cctv開頭的頻道發訊息時,不管是cctv幾,訂閱者都可以收到。

     66、 給頻道發訊息 : PUBLISH a i am message        //當訊息釋出後,訂閱者就可以收到訊息