您當前位置: 南順網絡>> 官方資訊>> 建站知識

關于redis,學會這8點就夠了!!!

1、redis是什么

redis是一種支持Key-Value等多種數據結構的存儲系統??捎糜诰彺?、事件發布或訂閱、高速隊列等場景。該數據庫使用ANSI C語言編寫,支持網絡,提供字符串、哈希、列表、隊列、集合結構直接存取,基于內存,可持久化。

 

2、支持的語言


 

3、redis的應用場景有哪些

1、會話緩存(最常用)

2、消息隊列,比如支付

3、活動排行榜或計數

4、發布、訂閱消息(消息通知)

5、商品列表、評論列表等

 

4、redis數據類型

Redis一共支持五種數據類:string(字符串)、hash(哈希)、list(列表)、set(集合)和zset(sorted set 有序集合)。

(1)string(字符串)

它是redis最基本的數據類型,一個key對應一個value,需要注意是一個鍵值最大存儲512MB。

(2)hash(哈希)

redis hash是一個鍵值對的集合, 是一個string類型的field和value的映射表,適合用于存儲對象

(3)list(列表)

是redis簡單的字符串列表,它按插入順序排序

(4)set(集合)

是string類型的無序集合,也不可重復

(5)zset(sorted set 有序集合)

是string類型的有序集合,也不可重復

sorted set中的每個元素都需要指定一個分數,根據分數對元素進行升序排序,如果多個元素有相同的分數,則以字典序進行升序排序,sorted set 因此非常適合實現排名

 

5、redis服務相關的命令

slect           #選擇數據庫(數據庫編號0-15)

quit             #退出連接

info             #獲得服務的信息與統計

monitor       #實時監控

config get   #獲得服務配置

flushdb       #刪除當前選擇的數據庫中的key

flushall       #刪除所有數據庫中的key

 

6、redis的發布與訂閱

redis發布與訂閱(pub/sub)是它的一種消息通信模式,一方發送信息,一方接收信息。

下圖是三個客戶端同時訂閱同一個頻道

下圖是有新信息發送給頻道1時,就會將消息發送給訂閱它的三個客戶端


 

 

7、redis持久化

redis持久有兩種方式:Snapshotting(快照),Append-only file(AOF)

Snapshotting(快照)

1、將存儲在內存的數據以快照的方式寫入二進制文件中,如默認dump.rdb中

2、save 900 1 

#900秒內如果超過1個Key被修改,則啟動快照保存

3、save 300 10 

#300秒內如果超過10個Key被修改,則啟動快照保存

4、save 60 10000 

#60秒內如果超過10000個Key被修改,則啟動快照保存

 

Append-only file(AOF)

1、使用AOF持久時,服務會將每個收到的寫命令通過write函數追加到文件中(appendonly.aof)

2、AOF持久化存儲方式參數說明

    appendonly yes  

           #開啟AOF持久化存儲方式 

    appendfsync always 

         #收到寫命令后就立即寫入磁盤,效率最差,效果最好

    appendfsync everysec

         #每秒寫入磁盤一次,效率與效果居中

    appendfsync no 

         #完全依賴OS,效率最佳,效果沒法保證

 

8、redis 性能測試

自帶相關測試工具


實際測試同時執行100萬的請求


 


編輯:--ns868