metadata缓存
最后更新:2024-09-10 15:24:39
|
状态:未完成
在执行DDL时,需要频繁的读取表结构等元数据,非常耗时,所以会添加一层缓存。
也是就是不会每次都从数据库中读取数据。
以下3种情况会清空缓存:
1.缓存过期
2.执行DDL
3.调用CacheProxy.clear()
这样会存在一个问题。如果表结构还在缓存中,但这时通过其他工具修改了表结构,这时再查询时就会与实际结构不一致。
也可以修改缓存范围ConfigTable.METADATA_CACHE_SCOPE= 9; // 0:不缓存 1:当前线程 9:整个应用
或缓存时间METADATA_CACHE_SECOND= 3600*24;// 表结构缓存时间(-1:表示永不失效)