目前系統正常使用,忽然來個用戶註冊,但是帳號太長,致使數據庫無法保存,因此以爲把數據庫表的字段改大點,問題解決。可是問題又來了,修改字段長度後系統沒有重啓,致使查出來的數據爲字段沒有修改長度以前的那個長度,好比說:sql
字段長度修改前,字段長度爲varchar(16),用戶帳號是;8832226780@qq.com,註冊失敗,數據庫
字段修改後,字段長度改成varchar(32),用戶帳號是;8832226780@qq.com,註冊成功,緩存
整個過程系統沒有重啓,而後查出來的帳號是8832226780@qq.co,數據結構
猜想應該是mybatis緩存致使,重啓系統後,查出來的帳號是8832226780@qq.com,mybatis
mybatis提供緩存,用於減輕數據壓力,提升數據庫性能。 app
mybatis提供一級緩存和二級緩存。 ide
一級緩存是SqlSession級別的緩存: 性能
在操做數據庫時須要購造sqlSession對象,在對象中有一個數據結構(HashMap)用於存儲緩存數據。 spa
不一樣的sqlSession之間的緩存數據區域(HashMap)是互不影響的。 orm
二級緩存是mapper級別的緩存:
多個sqlSession區操做同一個mapper的sql語句,多個sqlSession能夠共用二級緩存,
二級緩存是跨sqlSession的。