redis的數(shù)據(jù)類型分為五種:字符型(string), 哈希(hash), 列表(lpush, rpush),無序集合( sadd ) ,有序集合(zadd)
string(字符)類型的基本操作:
set? key value? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (賦值)? ? ? ? ? ?
del? key? ????????????????????????????????????????(刪除)? ? ? ? ? ?
get? key? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (讀取值)
setex? key? expire value? ? ? ? ? ? ? ? ? (賦值加有效時間)
setnx? key? value? ? ?(賦值前判斷 key 是否存在,不存在則賦值成功,任一 key? 存在則賦值失敗)
mset? key value? key value .....? ? ? (多鍵賦值)
msetnx key value key value? ? ? ?(多鍵賦值,賦值原則上同)
mget? ?key key key? ?(獲取多個鍵值,不存在則返回 nil)
incr? ?key? ?(將 key 中的數(shù)值加 1 )
deincr? key? (將 key 中的數(shù)值減1 )
incrby? key? num? (key值增加指定的增量值)
deincrby key num? (key值減少指定的增量值)
hash(哈希)類型基本操作:
hset? name key value? ? (賦值)
hsetnx? name? key vaue? (賦值前檢查key是否存在,存在則設(shè)置失敗)
hmset? name? key value key value (設(shè)置多個鍵值對)
hget? name key? (讀鍵值)
hmget? name? key key (讀多個鍵值)
hgetall? name (hash中所有的鍵和值)
hkeys? ?name key (hash中是否存在鍵)
hvals? ? name value (hash中是否存在值)
hdel? name key? (刪除hash鍵值)
hlen? ?name? ?(hash中的鍵數(shù)量)
hincrby? name key? num? (hash鍵值加減增量值,如果鍵不存在,新的hash被創(chuàng)建并執(zhí)行 hincrby, 初始化值為 0,對字符串類型的key執(zhí)行 hincrby 造成一個錯誤)
hincrbyfloat name key num (hash鍵值加減浮點數(shù)增量值)
列表操作:
lpush/rpush (列表(左插入 | 右插入))
lpop/rpop (列表 (左讀取| 右讀取))
lrange start end (指定區(qū)間的元素)
llen? ? (返回列表長度)
無序列表操作:
sadd? key? value? (無序列表賦值)
列: sadd? user? name? age? head address
smembers key? ?(查看無序列表多有的值)
列:smembers user
srem key? value? value? (刪除一個或者多個成員值)
列: srem? user? name/age?
scard? key? ? ? ? ? (返回集合中元素數(shù)量)
列:scard? user
smove? source_key? target_key? ? value (從資源列表里移動列表元素到目標(biāo)列表里面)
sinter? ? key key1 key2? ? ? ? (返回所有集合的交集)
列:sinter? ?user1 user2 user3
sinterstore? ? target_key? key key1 key2? (將集合的交集存儲在指定的集合中,如果存在,將其覆蓋)
列:sinterstore userall user1 user2 user3
sunion? ?key key1 key2? ? ?(返回所有集合的并集)
sunionstore? target_key? ? ?key key1 ley2? (將集合的并集存儲在指定集合中,如果存在,將其覆蓋)
sdiff? key key1? key2? (返回集合的差集)
sdiffstore target_key? key1 key2? key3 (將集合的差集存儲在指定的集合中,如果存在,將其覆蓋)
sismember? key? value? (判斷元素是否集合成員)
列:sismembers user name
無序集合:
zadd? key? score? key value? (有序集合賦值)
列: zadd user? 1? ggg
????????zadd user? 2? www
zrem key member? ? ?(有序集合刪除成員)
列:zrem? user www
zrange? key? start end [withscores]? (返回集合中指定區(qū)間的集合)
列: zrange? user? 0 -1
zcard? key? ? ? (返回集合元素的數(shù)量)
列: zcard user?
zrevrange key? start? end [withscores] (返回集合中指定的區(qū)間,按照分?jǐn)?shù)值大到小排列,相同分?jǐn)?shù)值的成員按字典序的逆序)?
列: zrevrange key 0 -1
zincrby key? increment member? (集合的元素增加(正)/減少(負(fù))指定的增量值,元素不存在時,等于 zadd key increment member, 當(dāng)key不是有序集合類型時,返回錯誤)
zrangebyscore? key? 2 3? (返回score指定區(qū)間的集合)
列:zrengebyscore user? 2? 3
zremrangebyrank? key start_index end_index? (刪除集合中排名在給定區(qū)間的元素(按索引刪除))
列:zremrangebyrank user? ?2? 3
zremrangebyscore user? start_score? end_score? (刪除集合中 score 在給定區(qū)間的元素(按順序刪除))
列:zremrangebyscore user? 2? 5