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]
// ( )