- 博客主頁:天天困啊
- 系列專欄:面試題
- 關注博主,后期持續更新系列文章
- 如果有錯誤感謝請大家批評指出,及時修改
- 感謝大家點贊👍收藏?評論?
Redis中常見的基礎數據結構總共五種:這五種類型分別為String(字符串),List(列表),Hash(哈希)Set(無序集合),Zset(有序集合,也叫Sorted set)
String
字符串是最基本的數據類型,可以存儲任何類型的數據
使用場景:
- 緩存:存儲序列化的對象或頁面緩存,儲存短信驗證碼等臨時數據,用戶會話信息
- 計數器:如網站訪問量,點贊數統計
Hash
哈希是一個鍵值對集合,適合存儲對象的屬性
使用場景:
- 商品詳情:存儲商品的各個屬性,方便快速檢索
- 用戶信息:存儲用戶的詳細信息,如姓名和年齡等
List
列表是一個有序的字符串集合,底層實現是雙向鏈表
使用場景:
- 日志記錄:存儲操作日志或系統日志,便于后續分析和審計
- 購物車:在電商系統中,可以將用戶的購物車商品作為列表來存儲,方便管理和更新
Set
集合是無序且不重復的字符串集合,使用哈希表實現,支持快速查找和去重操作
使用場景:
- 共同好友:在社交應用中,可以利用集合的交集操作來找到兩個用戶之間的共同好友
- 標簽推薦:基于用戶得到興趣標簽,推薦相關的產品或內容,可以整合多個用戶的標簽,發現熱門標簽
Sorted Set
有序集合,但是每個元素都有一個分數用于排序,底層使用跳表實現,支持快速的范圍查詢
使用場景:
排行榜:存儲用戶的分數做到實時排行榜
評分系統:存儲商品或文章的評分,便于按評分高低展示
擴展知識
四種高級數據類型
BitMap(位圖操作)
它是一種基于字符串的特殊操作方式,將字符串的每個位當作獨立的布爾值來處理
使用場景:
用戶簽到系統:用日期作為key,用戶id作為offset,1表示已簽到
HyperLogLog(基數統計結構)
一種專門用于估算不重復元素數量的概率算法結構
使用場景:
社交網絡分析:計算朋友圈中不重復的好友數量
GEO(地理位置服務)
專門為地理位置相關計算設計的數據類型
使用場景:
實時計算外賣員與商家、用戶之間的最優路徑
Stream(消息流處理)
使用場景:
服務間通過消息流進行異步通信
總結
Redis作為后端開發的必備技能,在秋招中占據重要地位。理解這九種數據類型的特性和應用場景,不僅能幫助你在技術面試中脫穎而出,更能為將來的實際工作打下堅實基礎。秋招雖有挑戰,但每份努力都會得到回報。