Redis 5データ型学習ノート!

6001 ワード

 redis  5     !
redis 16    (0-15)!
     :select 15(   15    ) 
     :flushall 
set  key : 1 values     (   :        )
//  ping    pong

1.stringタイプ:個人的な理解:簡単なkey->value
 

SET key value 
     key    

  set name lucy   //ok

GET key
     key    

get name    //lucy
 
GETRANGE key start end
   key            

getrange name 0 2 //luc

GETSET key value
//   key      ,  key     value
 //key       nil

set name lucy   //ok
getset name lily  //lucy


  
MSET key1 val1 key2 val 2 ...
          key-value  。

mset  name  lucy age 18 class 3 //ok

MGET key1 [key2..]
    (     )   key   。

 mget name age class //lucy 18 3
 
SETEX key seconds value
   key    value ,       (     )

PSETEX key milliseconds value
      SETEX     ,           key       

 setex  name  60 lucy 
// name   lucy,    60s,
//   ttl name         
psetex name 600 lucy

SETNX key value
    key        key   。

 set name lucy 
setnx name lily //(integer) 0   
set names lily  //(integer) 1   
 
STRLEN key
   key            。
strlen name   //(integer) 4

SUBSTR key start end
   key   start         end
substr name 0 1 // lu 
 
 

MSETNX key value [key value ...]
          key-value  ,         key     。

msetnx  key1 val1 key2 val2 
 

 
INCR key
  key           

set n 10 
incr n  //11
 
INCRBY key increment
  key              (increment) 

set n 10
incrby n 2 //12
 
 
DECR key
  key          。

 set n 10
decr n  // 9

DECRBY key decrement
key              (decrement) 。

 set n 10
decrby n 2  //8

APPEND key value
APPEND     value        key     
append name hello  //name        hello
set  name lucy 
append name hello // lucyhello


 del key  
  key   //del    (integer) 1 ,  (integer) 0
del name   


        key    (Array) 
 keys  abc*  //    abc     key
keys *abc  //    abc     key
keys *  //         key 
//       (empy list or set)

  key     
exists  key  //    (integer) 1 ,  (integer) 0
exists name



  key   
type key  //      
type name

   key   
rename key  k   //    ok
rename name  title


randomkey
      key
randomkey 


     key    :set key  val
  key       :expire key 60( )  
        :ttl  key   
      get key       (nil)







2.listタイプ:個人的な理解:双方向キューで、頭が入ったり、頭が出たりします.
lpush   list   string
// list          

rpush list string
// list           
//   key           ,      。

llen  list 
//    list   ,     0

lrange  list start end
//             ,       START   END   。 
//   0           , 1           ,    。 
//          ,  -1            , -2             ,    。
lrange list 0 -1  // list  

lrem list count  string
// list         count   string

lpop list 
//         ,  

rpop list 
//         ,  


3.hashタイプ:個人的な理解:hashはmysqlの1行の記録に似ていて、1行の記録の中で、tableは複数のfieldがあって、各fieldは1つのvalueに対応します;
hset   table  field1   value1   
//   field1     value1
//       (integer) 1 ,     (integer) 0 
//  field1     ,    ,    (integer) 0

hget   table  filed1   
//   field1

hgetall table 
//  table  field

hdel   table  field1  
//    filed1  
//       (integer) 1 ,     (integer) 0 


hexists  table  field1
//field1     
//       (integer) 1 ,     (integer) 0 

hincrby table field  n
//  field      n(     )


hkeys table
//   table    field


hlen  table
//         。   key     ,   0 。

hmset   table  field1 value1 field2 value2  field3 value3 ...
//    

hmget  table field1 field2 field3 field4 ...
//    


hsetnx  table  field value
// field    value ,   field   ,    ,    (integer) 0






4.setタイプ:
sadd  set  value1 value2 value3 ...
//                ,                。 
//     key    ,                   。 
//    key        ,      。
//        ,      

scard  set
//     。     key     ,   0 。

smembers  set
//   set     


sdiff  set1  set2 setn...
// set1    ,   set2    。   ,       key      。


sdiffstore  set   set1 set2 setn...
// set1    ,   set2    。    set   


sinter  set1 set2 setn...
//   ,              ,      (        )。


sinterstore  set  set1 set2 setn...
// set1,set2 ,setn   。    set   

sunion  set1 set2 setn...
// set1 ,set2 ,setn   

sunionstore   set  set1 set2 setn...
// set1,set2 ,setn   。    set   

sismember   set  value
//   value     set      ,    1,     0

smove  set1  set2  value
// set1   value    set2   。smove      ,     1,     0

spop  set 
//     set           。

srandmember  set
//    set           

srem    set    value1 value2 valuen
//    set      value  ,      ,         。




 ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN
//                            。
//               ,            ,             ,             。
//                。
//       key    ,              ZADD   。
//  key            ,      。

 ZCARD KEY_NAME
//            。

ZCOUNT key min max
//                    。

ZINCRBY key increment member
//                  increment
//            increment ,         ,   ZINCRBY key -5 member ,    member   score     5 。
//  key    ,      key     , ZINCRBY key increment member     ZADD key increment member 。
//  key         ,      。
//                。


ZINTERSTORE destination numkeys key [key ...] [WEIGHTS weight [weight ...]] [AGGREGATE SUM|MIN|MAX]
//                ,    key        numkeys     ,     (   )    destination 。
//     ,                           。

ZLEXCOUNT KEY MIN MAX
//                   。

ZRANGE key start stop [WITHSCORES]
//      ,        。
//             (    )   。
//              (lexicographical order )   。
//           (    )   ,    ZREVRANGE   。
//     start   stop    0   ,    ,  0           ,  1           ,    。
//          ,  -1         , -2          ,    。


ZRANK key member
//             。             (    )    。

ZRANK key member
//                ,          。
//  key            ,      。
 
ZSCORE key member
//      ,      。             key    ,  key    ,   nil 。

 ZSCORE key member
//      ,      。             key    ,  key    ,   nil 。



ZSCAN key cursor [MATCH pattern] [COUNT count]
//            (           )