一、Memcached相关配置项
二、整合过程
1、新建SpringBoot项目并引入Memcached依赖
<!-- 引入XMemcached -->
<dependency>
<groupId>com.googlecode.xmemcached</groupId>
<artifactId>xmemcached</artifactId>
<version>2.4.0</version>
</dependency>
2、在配置文件application.yml初始化配置参数
#配置Memcached属性
memcached:
servers: 192.168.1.27:5555 192.168.1.27:6666
poolSize: 10
sanitizeKeys: false
3、建立匹配配置文件的配置类
@Component
@ConfigurationProperties(prefix = "memcached")
public class XMemcachedProperties {
/* 连接的服务 */
private String servers;
/* NIO连接池连接数量 */
private int poolSize;
/* 是否开启对URL进行 encode */
private boolean sanitizeKeys;
public String getServers() {
return servers;
}
public void setServers(String servers) {
this.servers = servers;
}
public int getPoolSize() {
return poolSize;
}
public void setPoolSize(int poolSize) {
this.poolSize = poolSize;
}
public boolean isSanitizeKeys() {
return sanitizeKeys;
}
public void setSanitizeKeys(boolean sanitizeKeys) {
this.sanitizeKeys = sanitizeKeys;
}
}
4、编写引用Memcached的配置类并初始化配置
@Configuration
public class XMemcachedConfig {
@Autowired
private XMemcachedProperties properties;
//构建builder
@Bean
public MemcachedClientBuilder getXmBuilder(){
MemcachedClientBuilder builder;
//设置连接的服务
builder = new XMemcachedClientBuilder(properties.getServers());
//设置NIO连接池连接数量
builder.setConnectionPoolSize(properties.getPoolSize());
//开启对URL进行encode
builder.setSanitizeKeys(properties.isSanitizeKeys());
//设置分布式算法为一致性Hash
builder.setSessionLocator(new KetamaMemcachedSessionLocator());
return builder;
}
//构建client
@Bean
public MemcachedClient getXmClient(MemcachedClientBuilder builder){
MemcachedClient client;
try {
client = builder.build();
return client;
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
------扫码进群,怕你禁不住福利的诱惑------