SpringBoot_cache(3)

        今天依旧学习springboot整合cache,今天整合memcached。

        首先开启memcached服务并导入相应的pom文件:

<dependency>
    <groupId>com.googlecode.xmemcached</groupId>
    <artifactId>xmemcached</artifactId>
    <version>2.4.7</version>
</dependency>

       接下来写入相关配置:

@Configuration
public class XMemcachedConfig {

    @Autowired
    private XMemcachedProperties xMemcachedProperties;

//配置可以设置很多,如果要设写入端口,连接池数量还要以下配置:
    @Bean
    public MemcachedClient getMemcachedClient() throws IOException {
        //写入端口
        MemcachedClientBuilder memcachedClientBuilder = new XMemcachedClientBuilder(xMemcachedProperties.getServers());
        //写入连接池数量,可忽略
        memcachedClientBuilder.setConnectionPoolSize(xMemcachedProperties.getPoolSize());
        //写入超时时间,可忽略
        memcachedClientBuilder.setOpTimeout(xMemcachedProperties.getOpTimeout());
        MemcachedClient memcachedClient = memcachedClientBuilder.build();
        return memcachedClient;
    }
}

        接其他配置,如果只需要一个memcached的客户端,此处请略过:

        在yml文件中写入相关配置:

memcached:
  # memcached服务器地址
  servers: localhost:11211
  # 连接池的数量
  poolSize: 10
  # 设置默认操作超时
  opTimeout: 3000

        封装成bean便于写入:

@Component
@ConfigurationProperties(prefix = "memcached") //需要读取的配置对应yml文件中的memcached
@Data //lombok依赖
public class XMemcachedProperties {
    private String servers;
    private int poolSize;
    private long opTimeout;
}

        此处为略过终点。

        配置好后进行实际操作,这只是一部分代码:

@Autowired //注入服务端
private MemcachedClient memcachedClient;

@Override
public String sendCodeToSMS(String tel) {
    String code = codeUtils.generator(tel);
    try {
        memcachedClient.set(tel,0,code); //存入memcached缓存,第二个参数代表过期时间,0代表永不过期
    } catch (Exception e) {
        e.printStackTrace();
    }
    return code;
}

欢迎大家一起来学习,有不足的地方还请指出。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值