redis能夠用來作什麼?以博客帖子爲例大概說說,固然redis的其餘功能還有不少,後續在作介紹。redis
Redis 是互聯網技術領域使用最爲普遍的存儲中間件,它是「Remote Dictionary Service」的首字母縮寫,也就是「遠程字典服務」。數據庫
記錄帖子的點贊數、評論數和點擊數 (hash) --針對帖子的一對多記錄, key爲數名稱,value爲各類數的值。緩存
記錄用戶的帖子 ID 列表 (排序),便於快速顯示用戶的帖子列表 (zset) -- 記錄id而不是文章是爲了須要減小內存,同時zset 的score能夠用來排序。中間件
記錄帖子的標題、摘要、做者和封面信息,用於列表頁展現 (hash) -- 針對帖子的一對多記錄,key爲必要信息的名稱,value爲各類值。排序
記錄帖子的點贊用戶 ID 列表,評論 ID 列表,用於顯示和去重計數 (zset) -- 單個字段記錄,不重複。 隊列
緩存近期熱帖內容 (帖子內容空間佔用比較大),減小數據庫壓力 (hash) -- 熱帖數量很少,因此內容所有緩存,key爲id,value爲帖子內容。內存
記錄帖子的相關文章 ID,根據內容推薦相關帖子 (list) -- 相關文章,有相關度的概念,因此須要有序,而list能夠做爲隊列和棧來使用。博客
若是帖子 ID 是整數自增的,能夠使用 Redis 來分配帖子 ID(計數器)。 收藏集和帖子之間的關係 (zset) -- 有序不重複。hash
記錄熱榜帖子 ID 列表,總熱榜和分類熱榜 (zset) -- 有序不重複。io
緩存用戶行爲歷史,進行惡意行爲過濾 (zset,hash) -- 有序不重複,針對用戶一對多行爲記錄。