Redis 學習
- 一、為什麼使用Redis?
-
- 1.1 問題現象以及解決思路
- 1.2 Nosql
- 1.3 應用場景(電商)
- 1.4 Redis
- 二、Windows下使用Redis
-
- 2.1 安裝啟動
- 三、Redis 基本操作
-
- 3.1資訊添加
- 3.1 資訊查詢
一、為什麼使用Redis?
1.1 問題現象以及解決思路
現象:
- 海量使用者通路
- 高并發
-
關系型資料庫中:
性能瓶頸:磁盤IO性能低下
擴充瓶頸:資料複雜,擴充性能差,不便于大規模叢集

解決思路——Nosql
- 降低磁盤IO次數,越低越好。 ——— 記憶體存儲
- 去除資料間關系,越簡單越好。 ————不存儲關系,僅存儲資料
1.2 Nosql
NoSQL:Not-OnlySQL(不僅僅是SQL,泛指非關系型的資料庫),作為關系資料庫的補充。
作用:應對基于海量使用者和海量資料前提下的資料處理問題
特征:
- 可擴容性,可伸縮
- 大資料量下高性能
- 靈活的資料模型(相容多種資料類型)
- 高可用
常見NoSQL 資料庫:
- Redis
- memcache
- HBase
- MongoDB
1.3 應用場景(電商)
1. 商品基本資訊
- 名稱
- 價格
- 廠商
-
……
放到MySQL中
2. 商品附加資訊
- 描述
- 詳情
- 評論
- ……
放到MongoDB
- 圖檔資訊
放到分布式檔案系統
-
搜尋關鍵字
放到 ES、Lucene、Solr
- 熱點資訊
- 高頻(通路量很高)
- 波動性(不是時時刻刻都是熱點)
放到Redis、memcache、tair
1.4 Redis
概念:Redis(REmote Dictionary Server 遠端字典服務)是用C語言開發的一個開源高性能鍵值對(key-value)資料庫。
特征:
- 資料間沒有必然的關聯關系
- 内部采用單線程機制進行工作
- 高性能。官方提供測試資料,50個并發執行100000個請求,讀的速度是110000次/s,寫的速度是81000次/s
- 支援多資料類型:
- 字元串類型 ——String
- 清單類型 ——list
- 散列類型——hash
- 集合類型——set
- 有序集合類型——sorted_set
- 持久化支援。可以進行資料災難恢複
應用:
- 為熱點資料加速查詢(主要場景),如熱點商品、熱點新聞、熱點資訊、推廣類等高通路量資訊等。
- 任務隊列,如秒殺、搶購、購票排隊等
- 即時資訊查詢,如各位排行榜、各類網站通路統計、公交到站資訊、線上人數資訊(聊天室、網站)、裝置信号等。
- 時效性資訊控制,如驗證碼控制、投票控制等。
- 分布式資料共享,如分布式叢集架構中的session分離
- 消息隊列
- 分布式鎖
二、Windows下使用Redis
2.1 安裝啟動
下載下傳:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
- 打開redis-server.exe 啟動如下:
一、Redis基礎入門一、為什麼使用Redis?二、Windows下使用Redis三、Redis 基本操作 啟動redis-cli.exe一、Redis基礎入門一、為什麼使用Redis?二、Windows下使用Redis三、Redis 基本操作 一、Redis基礎入門一、為什麼使用Redis?二、Windows下使用Redis三、Redis 基本操作
三、Redis 基本操作
3.1資訊添加
指令:
set key value
功能:設定key,value資料
示例:
set name Ady
3.1 資訊查詢
根據key查詢對應的value,如果不存在,傳回空(nil)
指令:
get key
示例:
get name
清除螢幕資訊:
指令:
clear
幫助:擷取指令幫助文檔,擷取組中所有指令資訊名稱
指令:
help 指令名
help @組名
依次為 指令格式、功能描述、出現的版本、所屬群組
退出用戶端的操作:
指令:
quit
exit
esc鍵