瞭解Redis數據類型,這一篇就夠了

Redis的五大數據類型

string(字符串)

	String(字符串)string是redis最基本的類型,你可以理解成與Memcached一模一樣的類型,一個key對應一個value。string類型是二進制安全的。意思是redis的string可以包含任何數據。比如jpg圖片或者序列化的對象 。string類型是Redis最基本的數據類型,一個redis中字符串value最多可以是512M

hash(哈希,類似java裏的Map)

Hash(哈希)Redis hash 是一個鍵值對集合。Redis hash是一個string類型的field和value的映射表,hash特別適合用於存儲對象。類似Java裏面的Map<String,Object> 

list(列表)

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

set(集合)

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

zset(sorted set:有序集合)

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

Redis 鍵(key)

案例

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

Redis字符串(String)

案例

 set/get/del/append/strlen
 Incr/decr/incrby/decrby,一定要是數字才能進行加減
  getrange/setrange
 getrange:獲取指定區間範圍內的值,類似between......and的關係從零到負一表示全部setrange設置指定區間範圍內的值,格式是setrange key值 具體值
   setex(set with expire)鍵秒值/setnx(set if not exist)
 setex:設置帶過期時間的key,動態設置。setex 鍵 秒值 真實值setnx:只有在 key 不存在時設置 key 的值。
  mset/mget/msetnx
  mset:同時設置一個或多個 key-value 對。mget:獲取所有(一個或多個)給定 key 的值。msetnx:同時設置一個或多個 key-value 對,當且僅當所有給定 key 都不存在。 
   getset(先get再set)
   getset:將給定 key 的值設爲 value ,並返回 key 的舊值(old value)。簡單一句話,先get然後立即set 

Redis列表(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

性能總結

它是一個字符串鏈表,left、right都可以插入添加;如果鍵不存在,創建新的鏈表;如果鍵已存在,新增內容;如果值全移除,對應的鍵也就消失了。鏈表的操作無論是頭和尾效率都極高,但假如是對中間元素進行操作,效率就很慘淡了。

Redis集合(Set)

案例

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

數學集合類

差集:sdiff
交集:sinter
並集:sunion

Redis哈希(Hash)

案例

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

Redis有序集合Zset(sorted set)

案例

 zadd/zrange
  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

http://redisdoc.com/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章