JDBC :java數據庫連接,是一種用于執行SQL語句的java API,可以為多種關系數據庫提供統一訪問,它由一組用java語言編寫的類和接口組成。因為寫的代碼太多已經淘汰。
1.Mybatis :沒有緩存處理,沒有事物(結合Spring 的事物處理方式)
2.Hibrenate: 加入了緩存管理,每次數據庫取用時會查看緩存中是否已經有了,有了將不再從數據庫中獲取
3.數據庫設計,不使用外鍵,因為外鍵擴展性太小。(使用事物等的多表查詢)
4.自增主鍵 數據庫給你做好了索引,有些時候查詢某些字段的時候,如果數據值變化大的時候手動建索引(B+樹);索引是查詢兩次,先查詢索引,再查詢數據庫;插入的時候也是兩次,更新索引,插入數據庫
5.一張MySQL 數據庫的表行數1kw 以內是最好的 (經驗值)
當涉及一張表放不開多表的時候,通過將id/* 取余之后的值分表
6.redis 遠程數據緩存 ,緩存單獨的一個服務 RPC 保持數據庫跟緩存的一致性,所以每次的存儲數據是緩存跟數據庫的同時更新
- 數據的查詢 redis的讀取,要批量查詢,減少數據庫 redis的鏈接
9.一致性 高可用性 高擴展性
- 多線程時的數據問題 (盡量減少全局變量,或者static的變量) 加鎖 synchronized redis Mysql 已經加鎖了