2.16 cache 的使用
cache 的配置请参见1.6节的内容。
2.16.1 主键缓存
主键缓存里key,value键值对是[schema.table.主键值, 路由节点]
适合主键路由缓存的场景:
1.条件都包含主键
2.拆分里和主键列不同,先通过拆分列查出数据(主键结果进缓存),再通过主键列查询。
另外,为了使缓存生效,可能影响查询延迟。
方式一:开启默认缓存和具体表的缓存。
KEY是layedpool.TableID2DataNodeCache,
eg. layedpool.TableID2DataNodeCache=encache,10000,18000
如果不再添加新的配置,那么schema.xml 所有配置了主键的table将会共用此配置
当然,也可以指定对某个表格进行缓存的配置
格式如下:
layedpool.TableID2DataNodeCache.`testdb`_`testtable`= 容量,超时时间
方式二:KEY是layedpool.TableID2DataNodeCacheType,仅开启具体表的缓存。
eg. layedpool.TableID2DataNodeCacheType=encache
然后再对具体某个表格进行缓存配置:
layedpool.TableID2DataNodeCache.`testdb`_`testtable`= 容量,超时时间
注意: 方式一和方式二不能同时开启。
2.16.2 路由缓存
路由缓存里键值对是[sql, 路由节点]
配置的值里KEY是pool.SQLRouteCache
VALUE 是逗号隔开的三个值,分别为cachefactory的name,容量,超时时间。
2.16.3 ER子表计算缓存
路由缓存里键值对是[子表对应的joinkey, 路由节点]
KEY是pool.ER_SQL2PARENTID
VALUE是逗号隔开的三个值,分别为cachefactory的name,容量,超时时间