kylin启动memcached缓存

当部署kylin的机器内存不足时,可以使用memcached作为kylin的查询缓存。

需要在kylin.properties添加的配置如下:

复制代码
kylin.query.cache-enabled=true
kylin.query.lazy-query-enabled=true
kylin.query.cache-signature-enabled=true
kylin.query.segment-cache-enabled=true
kylin.cache=true
kylin.cache.use-local=false
kylin.query.cache-type=memcached
kylin.cache.memcached.hosts=host:port,host:port

其中host是部署memcached机器的ip,port是memcached的端口。可以选择将查询缓存放在多个memcached的机器上。

需要修改的配置如下:

$KYLIN_HOME/tomcat/webapps/kylin/WEB-INF/classes/applicationContext.xml

注释掉:

复制代码
<bean id="ehcache"
      class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
      p:configLocation="classpath:ehcache-test.xml" p:shared="true"/>

<bean id="cacheManager" class="org.springframework.cache.ehcache.EhCacheCacheManager"
      p:cacheManager-ref="ehcache"/>

取消注释:

复制代码
<bean id="ehcache" class="org.springframework.cache.ehcache.EhCacheManagerFactoryBean"
      p:configLocation="classpath:ehcache-test.xml" p:shared="true"/>

<bean id="remoteCacheManager" class="org.apache.kylin.cache.cachemanager.MemcachedCacheManager" />
<bean id="localCacheManager" class="org.apache.kylin.cache.cachemanager.InstrumentedEhCacheCacheManager"
      p:cacheManager-ref="ehcache"/>
<bean id="cacheManager" class="org.apache.kylin.cache.cachemanager.RemoteLocalFailOverCacheManager" />

<bean id="memcachedCacheConfig" class="org.apache.kylin.cache.memcached.MemcachedCacheConfig">
    <property name="timeout" value="500" />
    <property name="hosts" value="${kylin.cache.memcached.hosts}" />
</bean>

然后重启kylin就可以啦。

使用后,在logs文件夹下的kylin.out里面可以找到如下:

复制代码
INFO net.spy.memcached.MemcachedConnection

在kylin.log里面也可以找到:

复制代码
service.QueryService:646 : The sqlResponse is found in QUERY_CACHE
相关推荐
fpcc29 分钟前
计算机原理—缓存
c++·缓存
苦学编程的谢3 小时前
Redis_2_特性介绍+应用场景
数据库·redis·缓存
蓝色 - Lanse4 小时前
模型推理如何利用非前缀缓存
人工智能·缓存
程序员三明治7 小时前
选 Redis Stream 还是传统 MQ?队列选型全攻略(适用场景、优缺点与实践建议)
java·redis·后端·缓存·rocketmq·stream·队列
梦子yumeko14 小时前
第五章Langchain4j之基于内存和redis实现聊天持久化
数据库·redis·缓存
半旧夜夏15 小时前
【分布式缓存】Redis持久化和集群部署攻略
java·运维·redis·分布式·缓存
小丁爱养花1 天前
Redis - set & zset (常用命令/内部编码/应用场景)
数据库·redis·缓存
大G的笔记本1 天前
用 Redis 的 List 存储库存队列,并通过 LPOP 原子性出队来保证并发安全案例
java·数据库·redis·缓存
IDOlaoluo2 天前
TinyRDM 1.2.3 Windows版安装教程(附Redis客户端下载及详细步骤)
数据库·redis·缓存
2501_938769992 天前
React Server Components 进阶:数据预取与缓存
前端·react.js·缓存