1. 程式人生 > >redis五種資料型別及必須掌握的指令

redis五種資料型別及必須掌握的指令

一、redis五種資料型別

1.string(字串)

string是redis最基本的型別,你可以理解成與Memcached一模一樣的型別,一個key對應一個value。
string型別是二進位制安全的。意思是redis的string可以包含任何資料。比如jpg圖片或者序列化的物件 。
string型別是Redis最基本的資料型別,一個redis中字串value最多可以是512M

2.Hash(雜湊)

Redis hash 是一個鍵值對集合。
Redis hash是一個string型別的field和value的對映表,hash特別適合用於儲存物件。
類似Java裡面的Map<String,Object>

3.List(列表)

Redis 列表是簡單的字串列表,按照插入順序排序。你可以新增一個元素導列表的頭部(左邊)或者尾部(右邊)。
它的底層實際是個連結串列

4.Set(集合)

Redis的Set是string型別的無序集合。它是通過HashTable實現實現的,

5.zset(sorted set:有序集合)

Redis zset 和 set 一樣也是string型別元素的集合,且不允許重複的成員。
不同的是每個元素都會關聯一個double型別的分數。
redis正是通過分數來為集合中的成員進行從小到大的排序。zset的成員是唯一的,但分數(score)卻可以重複。

 

二、redis必須掌握的指令

0.Redis 鍵(key)

  •  keys *
  •  exists key的名字,判斷某個key是否存在
  •  move key db   --->當前庫就沒有了,被移除了
  •  expire key 秒鐘:為給定的key設定過期時間
  •  ttl key 檢視還有多少秒過期,-1表示永不過期,-2表示已過期
  •  type key 檢視你的key是什麼型別

 

1.string(字串)

  • set/get/del/append/strlen
  • Incr/decr/incrby/decrby,一定要是數字才能進行加減
  • getrange/setrange
  • setex(set with expire)鍵秒值/setnx(set if not exist)
  • mset/mget/msetnx
  • getset(先get再set)

 

2.Hash(雜湊)

KV模式不變,但V是一個鍵值對

  •  hset/hget/hmset/hmget/hgetall/hdel
  •  hlen
  •  hexists key 在key裡面的某個值的key
  •  hkeys/hvals
  •  hincrby/hincrbyfloat
  •  hsetnx

 

3.List(列表)

  •  lpush/rpush/lrange
  •  lpop/rpop
  •  lindex,按照索引下標獲得元素(從上到下)
  •  llen
  •  lrem key 刪N個value
  •  ltrim key 開始index 結束index,擷取指定範圍的值後再賦值給key
  •  rpoplpush 源列表 目的列表
  •  lset key index value
  •  linsert key  before/after 值1 值2

 

4.Set(集合)

單值多value

  • sadd/smembers/sismember
  • scard,獲取集合裡面的元素個數
  • srem key value 刪除集合中元素
  • srandmember key 某個整數(隨機出幾個數)
  • spop key 隨機出棧
  • smove key1 key2 在key1裡某個值      作用是將key1裡的某個值賦給key2
  • 差集:sdiff
  • 交集:sinter
  • 並集:sunion

 

5.zset(sorted set:有序集合)

在set基礎上,加一個score值。
之前set是k1 v1 v2 v3,
現在zset是k1 score1 v1 score2 v2

  •  zadd/zrange   withscores
  •  zrangebyscore key 開始score 結束score
  •  zrem key 某score下對應的value值,作用是刪除元素
  •  zcard/zcount key score區間/zrank key values值,作用是獲得下標值/zscore key 對應值,獲得分數
  •  zrevrank key values值,作用是逆序獲得下標值
  •  zrevrange
  •  zrevrangebyscore  key 結束score 開始score