redis學習系列(一)

Redis數據類型

Redis支持五種數據類型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
redis 存儲的格式是<key,value>
類型

  1. 字符串(String)一個鍵最大能存儲512MB。
    命令
    1	SET key value 設置指定 key 的值
    2	GET key 獲取指定 key 的值。
    
  2. 哈希(hash) hash特別適合用於存儲對象。
    1	SET key value 設置指定 key 的值
    2	GET key 獲取指定 key 的值。
    
  3. 列表(List)
    Redis列表是簡單的字符串列表,按照插入順序排序。你可以添加一個元素導列表的頭部(左邊)或者尾部(右邊),有序集合
  4. 集合(Set)
    Redis的Set是string類型的無序集合。集合成員是唯一的,這就意味着集合中不能出現重複的數據。
    Redis 中 集合是通過哈希表實現的,所以添加,刪除,查找的複雜度都是O(1)。
  5. 有序集合(sorted set)
    Redis zset 和 set 一樣也是string類型元素的集合,且不允許重複的成員。
    不同的是每個元素都會關聯一個double類型的分數。redis正是通過分數來爲集合中的成員進行從小到大的排序。
    zset的成員是唯一的,但分數(score)卻可以重複。

八大特性

1、速度快:數據都放在內存中;Redis是用C語言實現的;Redis使用了單線程架構
2、 鍵值對的數據庫結構服務器:5種數據結構:字符串、哈希、列表、集合、有序集合。
3、 簡單穩定:Redis的源碼很少;Redis使用單線程模型;Redis不需要依賴於操作系統中的類庫
4、 持久化:發生斷電或機器故障,數據可能會丟失,持久化到硬盤。RDB,AOF備份硬盤中,啓動時使用文件啓動。
5、 主從複製:實現多個相同數據的redis副本,複製功能是分佈式Redis的基礎。
6、 高可用和分佈式:哨兵機制實現高可用,保證redis節點故障發現和自動轉移
7、 豐富的功能:鍵過期,發佈訂閱,事務,支持Lua腳本功能,流水線…
8、支持語言多,java;php;python;C;C++

適應場景

1、緩存: 合理使用緩存加快數據訪問速度,降低後端數據源壓力
2、排行榜: 按照熱度排名,按照發布時間排行,主要用到列表和有序集合
3、計數器應用:視頻網站播放數,網站瀏覽數,使用redis計數
4、消息隊列:發佈和訂閱
參考文章

  1. https://www.redis.net.cn
  2. https://www.jianshu.com/p/4e6b7809e10a
  3. https://blog.csdn.net/chenyao1994/article/details/79491337
  4. https://blog.csdn.net/weixin_43184769/article/details/91345563#commentBox
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章