redis入門之數據結構(三)

redis入門之數據結構(二)

Hashes

Redis Hashes 是字符串字段和字符串值之間的映射,因此它們是展現對象的完美數據類型。例如一個有名、姓、年齡等等屬性的用戶:一個帶有一些字段的 hash 僅僅需要一塊很小的空間存儲,因此你可以存儲數以百萬計的對象在一個小的 Redis 實例中。哈希主要用來表現對象,它們有能力存儲很多對象,因此你可以將哈希用於許多其它的任務。

  1. redis-cli hashes 基本操作:(在strings操作指令前+h)
  • hmset key field value [field value …] 創建一個包含有n個字段的hash
  • hmget key [key …] 獲取hash中字段的值(字段不存在返回nil)
  • hgetall key 獲取hash中所有字段的值
  • hincrby key field increment 對hash中指定字段的值+increment
  • hset key field value 設置hash中指定字段的值

在這裏插入圖片描述

Set 無序集合

Redis 集合(Set)是一個無序的字符串集合。
Redis 集合擁有令人滿意的不允許包含相同成員的屬性,多次添加相同的元素,最終在集合裏只會有一個元素,這意味着它可以非常方便地對數據進行去重操作。
Redis 集合支持一些服務端的命令從現有的集合出發去進行集合運算,因此你可以在非常短的時間內進行合併(unions),求交集(intersections),找出不同的元素(differences of sets)。

  1. redis-cli set 基本操作:
  • sadd key member [member …] 往集合中添加成員(返回添加成員的個數)
  • smembers key 查看集合key中所有的的成員
  • sismember key member 判斷member是否是key集合中的成員(成功返回1,失敗返回0)
    在這裏插入圖片描述

Set 有序集合

Redis 有序集合與普通集合非常相似,是一個沒有重複元素的字符串集合。不同之處是有序集合的每一個成員都關聯了一個權值,這個權值被用來按照從最低分到最高分的方式排序集合中的成員。集合的成員是唯一的,但是權值可以是重複的。
使用有序集合你可以以非常快的速度 O(log(N)) 添加、刪除和更新元素。因爲元素是有序的,所以你也可以很快的根據權值(score)或者次序(position)來獲取一個範圍的元素。訪問有序集合的中間元素也是非常快的,因此你能夠使用有序集合作爲一個沒有重複成員的智能列表。在有序集合中,你可以很快捷的訪問一切你需要的東西:有序的元素,快速的存在性測試,快速訪問集合的中間元素!簡而言之使用有序集合你可以完成許多對性能有極端要求的任務,而那些任務使用其它類型的數據庫真的是很難完成的。

  1. redis-cli zset 基本操作:
  • zadd key [NX|XX] [CH] [INCR] score member [score member] 往有序集合中添加成員(score 用於排序)
  • zrange key start stop [withscores] 查看指定區間的成員(0 表示集合第一個元素,-1 表示集合的倒數第一個元素。)
  • zrevragne key start stop [withscores] 查看反序的集合(withscores 參數返回記錄值)
    在這裏插入圖片描述

詳細介紹請看數據類型介紹

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