Redis系列(二)—— 數據結構

Redis官方說明

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker. It supports data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs and geospatial indexes with radius queries. —— redis.io

Redis數據結構

字符串(strings):存儲整數(比如計數器)和字符串(廢話。。),有些公司也用來存儲json/pb等序列化數據,并不推薦,浪費內存。

哈希表(hashes):存儲配置,對象(比如用戶、商品),優點是可以存取部分key,對于經常變化的或者部分key要求atom操作的適合。

列表(lists):可以用來存最新用戶動態,時間軸,優點是有序,確定是元素可重復,不去重。

集合(sets):無序,唯一,對于要求嚴格唯一性的可以使用,可以用來去重。

有序集合(sorted sets):集合的有序版,很好用,排名之類的復雜場景可以考慮。

位圖(bitmaps):這個不是新增的數據類型,只是可以把字符串類型按照單個位的形式進行操作。可以用來統計活躍用戶,實現用戶簽到功能,性能頗高。不過統計活躍用戶建議是增量讀取日志或者引入消息中間件異步刷到redis,非業務必須功能最好不要影響線上業務,特別是登錄這種門戶業務更是重中之重。

計數器(hyperloglogs,翻譯待定):如名字,添加元素只記錄元素個數,并不會存儲元素本身,節省空間并且避免重復count,這個感覺直接用incr就可以實現。

地理空間(geospatial indexes):用來做地理位置查詢,比如兩點之間的距離,一個點附近有多少元素,適合點比較固定的場景,或者只考慮當前位置的場景,像附近的人這種就不適合,一是需要考慮某段時間內的點,二是點經常更新,壓力比較大。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Redis雜談 Redis是近年來發展迅速的內存數據庫,網上也已經有多Redis的文章。但不管是英文還是中文,多數...
    迷失于重逢閱讀 1,596評論 0 14
  • redisredis理論Redis:安裝和配置redis安裝配置和使用redisRedis Cluster程序環境...
    屬于你的世界閱讀 198評論 0 1
  • redis是一個以key-value存儲的非關系型數據庫。有五種數據類型,string、hashes、list、s...
    林ze宏閱讀 1,022評論 0 0
  • Redis 簡介 Redis 是完全開源免費的,遵守BSD協議,是一個高性能的key-value數據庫。 Redi...
    陳小陌丿閱讀 14,041評論 0 2
  • 薄霧籠重樓,煙水蕩蘭舟。溫酒怎添愁,月華不解虞殤憂。
    鹿島23333閱讀 191評論 0 0