关于元数据缓存
最后更新:2024-09-11 05:30:01
|
状态:未完成
metadata作为AnylineService的内部类主要用来查询数据库结构,如表,表,主键,索引等
service.metadata().table(String)
ServiceProxy.metadata.table(String);
因为元数据查询量很大,所以会有缓存。
在系统内通过AnylineService.ddl()修改的会自动刷新缓存
如果在系统外修改了表结构等元数据信息,这时缓存不会自动刷新。
ConfigTable.METADATA_CACHE_SECOND = 3600*24 ; // 表结构缓存时间(没有设置缓存key的情况下生效)(-1:表示永不失效)
如果表比较多,尽量让系统对外提供一个接口,接口内调用CacheProxy.clear清空缓存
为什么不清空指定表相关的缓存,是因为缓存之间错综复杂很难根据表名筛选
service.metadata().table(String)
ServiceProxy.metadata.table(String);
因为元数据查询量很大,所以会有缓存。
在系统内通过AnylineService.ddl()修改的会自动刷新缓存
如果在系统外修改了表结构等元数据信息,这时缓存不会自动刷新。
可以修改缓存时间或缓存范围或主动刷新缓存
CacheProxy.clear()清空元数据缓存
ConfigTable.METADATA_CACHE_SECOND = 3600*24 ; // 表结构缓存时间(没有设置缓存key的情况下生效)(-1:表示永不失效)
如果表比较多,尽量让系统对外提供一个接口,接口内调用CacheProxy.clear清空缓存
为什么不清空指定表相关的缓存,是因为缓存之间错综复杂很难根据表名筛选