OS後端主要使用了阿里雲的主從版的Redis雲服務
os-lab.videojj.com/assets/uplo…
Redis主從流程:
- 從伺服器連線主伺服器,傳送SYNC命令;
- 主伺服器接收到SYNC命名後,開始執行BGSAVE命令生成RDB檔案並使用緩衝區記錄此後執行的所有寫命令;
- 主伺服器BGSAVE執行完後,向所有從伺服器傳送快照檔案,並在傳送期間繼續記錄被執行的寫命令;
- 從伺服器收到快照檔案後丟棄所有舊資料,載入收到的快照;
- 主伺服器快照傳送完畢後開始向從伺服器傳送緩衝區中的寫命令;
- 從伺服器完成對快照的載入,開始接收命令請求,並執行來自主伺服器緩衝區的寫命令
1.首先介紹一下Redis是什麼?
- Redis是由ANSI C語言編寫的一種支援網路 可基於記憶體 亦可持久化 (支援快照功能) 的非關係型儲資料庫。
- Redis支援string,hash,set,list,zset等五種資料型別。
- Redis主要用於快取,MQ。
- Redis是目前一線網際網路電商等公司做高可用支援高併發架構設計選型必備的非關係型資料庫。
2.SpringBoot在application-dev.yml配置Redis
spring:
redis:
shiro:
# redis服務地址
host: xxxx.redis.rds.aliyuncs.com
# redis服務埠地址
port: 6379
#超時處理
timeout: 0
#redis密碼
password: *************
# 連線池最大阻塞等待時間(使用負值表示沒有限制)
max-wait: -1
# 連線池中的最大空閒連線
max-idle: 8
# 連線池中的最小空閒連線
min-idle: 0
複製程式碼
3.Redis在OS後端的應用
OS系統主要是用在使用者登陸模組,投放計劃模組用到了Redis的string型別。 pom檔案配置:
Controller引用 import com.videojj.videoservice.dao.RedisSessionDao即可。 登陸模組: 使用者登陸生成的sessionId作為token存放在Redis快取資料庫,設定預設過期時間為2天 os-lab.videojj.com/assets/uplo… 當使用者退出登陸時,刪除對應的session,清除Redis分割槽裡的SessionId,即Token失效 os-lab.videojj.com/assets/uplo… 對Redis內部原理和高階用法感興趣的可移步到:- Reids官方文件:redis.io/
- Redis原始碼:github.com/antirez/red…
- Redis叢集:redisdoc.com/topic/clust…
- www.cnblogs.com/tianciliang…