1,redis是什麼html
redis是一種支持Key-Value等多種數據結構的存儲系統。可用於緩存,事件發佈或訂閱,高速隊列等場景。該數據庫使用ANSI C語言編寫,支持網絡,提供字符串,哈希,列表,隊列,集合結構直接存取,基於內存,可持久化。redis
2,支持的語言數據庫
3,redis的應用場景有哪些緩存
1,會話緩存(最經常使用)
2,消息隊列,
好比支付3,活動排行榜或計數
4,發佈,訂閱消息(消息通知)
5,商品列表,評論列表等網絡
4,redis數據類型
Redis一共支持五種數據類:string(字符串),hash(哈希),list(列表),set(集合)和zset(sorted set有序集合)。數據結構
(1)字符串(字符串)
它是redis的最基本的數據類型,一個鍵對應一個值,須要注意是一個鍵值最大存儲512MB。app
(2)hash(哈希)
redis hash是一個鍵值對的集合,是一個string類型的field和value的映射表,適合用於存儲對象函數
(3)表(列表)
是redis的簡單的字符串列表,它按插入順序排序工具
(4)組(集合)
是字符串類型的無序集合,也不可重複性能
(5)zset(sorted set有序集合)
是string類型的有序集合,也不可重複
有序集合中的每一個元素都須要指定一個分數,根據分數對元素進行升序排序,若是多個元素有相同的分數,則以字典序進行升序排序,sorted set所以很是適合實現排名
5,redis的服務相關的命令
slect#選擇數據庫(數據庫編號0-15)
退出#退出鏈接
信息#得到服務的信息與統計
monitor#實時監控
config get#得到服務配置
flushdb#刪除當前選擇的數據庫中的key
flushall#刪除全部數據庫中的鍵
6,redis的發佈與訂閱
redis的發佈與訂閱(發佈/訂閱)是它的一種消息通訊模式,一方發送信息,一方接收信息。
下圖是三個客戶端同時訂閱同一個頻道
下圖是有新信息發送給頻道1時,就會將消息發送給訂閱它的三個客戶端
7,redis的持久化
redis持久有兩種方式:快照(快照),僅附加文件(AOF)
快照(快照)
1,將存儲在內存的數據以快照的方式寫入二進制文件中,如默認dump.rdb中
2,保存900 1
#900秒內若是超過1個Key被修改,則啓動快照保存
3,保存300 10
#300秒內若是超過10個Key被修改,則啓動快照保存
4,保存60 10000
#60秒內若是超過10000個重點被修改,則啓動快照保存
僅附加文件(AOF)
1,使用AOF持久時,服務會將每一個收到的寫命令經過寫函數追加到文件中(appendonly.aof)
2,AOF持久化存儲方式參數說明
appendonly yes
#開啓AOF持久化存儲方式
appendfsync always
#收到寫命令後就當即寫入磁盤,效率最差,效果最好
appendfsync everysec
#每秒寫入磁盤一次,效率與效果居中
appendfsync no
#徹底依賴操做系統,效率最佳,效果無法保證
8,redis的性能測試
自帶相關測試工具
實際測試同時執行100萬的請求