創建索引的注意事項
- 並不是創建的索引越多越好,索引對於查詢能進行加速,但對於插入、刪除和更新,由於需要對索引進行創建與維護,會影響了這三個操作的速度
- 且索引佔用空間
- 創建索引一般創建在主鍵上、需要頻繁使用的條件字段上、範圍查找
- 對於多值索引滿足最左前綴字段
秒殺系統
秒殺獲得開始之前:
- 將靜態網頁資源放到反向代理上進行緩存,避免所有的請求達到服務器。
- 將活動信息、開始信息、能否進行秒殺活動信息存到redis緩存中
秒殺活動開始
- 由於秒殺物品數量有限,可以用隊列來存儲成功搶到貨物的用戶信息。
- 當貨物數據已經被搶購完了,則將redis緩存中能否進行秒殺活動設爲false,表示秒殺活動已結束。
活動結束之後
- 消息隊列削峯、解耦、異步
Spring事務原理
Spring事務的本質是對數據庫事務的封裝支持,沒有數據庫對事務的支持,Spring本身無法提供事務管理功能。
使用事務的流程
獲取連接–>開啓事務–>執行CRUD操作–>提交/回滾事務—>關閉連接
原理
Spring事務通過AOP動態代理實現。
種類
函數式事務:自己通過事務管理器開啓和關閉事務
聲明式事務:1.XML,解耦 2、註解,AOP方便