redis 是互聯網技術領域使用最為廣泛的存儲中間件,它是「Remote Dictionary Service」的首字母縮寫,也就是「遠程字典服務」。Redis 以其超高的性能、完美的文檔、簡潔易懂的源碼和豐富的客戶端庫支持在開源中間件領域廣受好評。國內外很多大型互聯網公司都在使用 Redis,比如 Twitter、YouPorn、暴雪娛樂、Github、StackOverflow、騰訊、阿里、京東、華為、新浪微博等等,很多中小型公司也都有應用。也可以說,對 Redis 的了解和應用實踐已成為當下中高級后端開發者繞不開的必備技能。
Redis的業務應用范圍非常廣泛,Redis 可以用在哪些地方?
1、記錄文章的評論數、點贊數和點擊數(hash)。
2、記錄用戶的文章 ID 列表 (排序),便于快速顯示用戶的文章列表 (zset)。
3、記錄文章的標題、摘要、作者和封面信息,用于列表展示。(hase)。
4、記錄文章的點贊用戶id列表,評論id列表,用于顯示和去重計數(zset)。
5、緩存近期熱點文章,減少數據庫壓力(hash)。
6、記錄文章的相關文章id,根據內容推薦相關文章(list)。
7、如果文章ID是整數自增的,可以使用redis來分配文章id(計數器)。
8、收藏集和文章之間的關系(zset)。
9、記錄熱門文章id列表,總熱榜和分類熱榜(zset)。
10、緩存用戶歷史行為,進行惡意行為過濾(zset,hash)。
Redis不能做什么
Redis感覺能干的事情特別多,但它不是萬能的,合適的地方用它事半功倍。如果濫用可能導致系統的不穩定、成本增高等問題。
比如,用Redis去保存用戶的基本信息,雖然它能夠支持持久化,但是它的持久化方案并不能保證數據絕對的落地,并且還可能帶來Redis性能下降,因為持久化太過頻繁會增大Redis服務的壓力。
簡單總結就是數據量太大、數據訪問頻率非常低的業務都不適合使用Redis。
數據太大會增加成本,訪問頻率太低,保存在內存中純屬浪費資源