數據庫:Redis相關知識梳理
作者: 郝光明
Redis是一個開源的使用ANSI C語言編寫、支持網絡、可基于內存亦可持久化的日志型、Key-Value數據庫,并提供多種語言的API。
1、數據類型
- string(字符串):最基本的k-v存儲 ,適合驗證碼、配置信息等
- list(列表):適合有序/固定的列表。比如行政區、字典表、消息隊列等。
- set(集合):支持交集、并集、差集等操作。可以用來找共同點等。
- hash(哈希):類似于唯一標識,value對應詳情。適合存儲文章內容、商品內容等詳情。
- zset(有序集合):增強版本增加了一個score參數,用來排序,適合排行榜類的數據存儲
2、優點
- 速度快。數據存儲在內存中,查找和操作的時間復雜度都是O(1)。類似于HashMap
- 多種數據類型,應用場景豐富
- 支持事務特性、所有操作都是原子性
- 支持數據的持久化,可以將數據保存在磁盤中
- 支持主-從模式的數據庫備份
- 性能高。讀取速度可達到110000次/s;寫81000次/秒
- 支持publish/subcribe、通知、key過期特性
3、場景舉例
3.1 緩存熱點數據 字典表 行政區 用戶登錄信息 配置信息
3.2 計數器 點贊數 瀏覽數
3.3 消息隊列 建議采用專門的消息中間件會更可靠。
3.4 最新列表 最新文章列表上架新品列表
3.5 排行榜 文章排名 商品排名
3.6 分布式鎖、單線程機制 電商秒殺 全局增量ID
3.7時效信息存儲 驗證碼5分鐘失效

責任編輯:姜華
來源:
IT技術分享社區