springboot系列20: Memcached初体验
今天谈谈一篇关于memcached的内容。Memcached 是一个高性能的分布式内存对象缓存系统。是基于内存存储键值对的hashmap,下面动手在springboot工程中搭建起来。
首先我们需要安装 memcached (获取安装包地址,请在公众号回复关键字‘memcached’--此处怀疑是广告,但又没有证据^V^ ) 。
因本地是windows,下载下来直接解压,运行exe文件即可
接下来,在springboot项目pom.xml文件引入相关jar包。
org.springframework.boot spring-boot-starter net.spy spymemcached 2.12.2
在 application.properties 配置memcached的相关属性
memcache.ip=127.0.0.1 memcache.port=11211
/**
* @version 1.0
* @description: 获取配置文件参数
* @date 2020-09-14 19:23
*/
@Component
@ConfigurationProperties(prefix = "memcache")
public class MemcacheSource {
private String ip;
private int port;
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
}
因初始化需要在项目启动时操作,故用到了上两篇的知识点,不熟悉的小伙伴可以翻一翻之前的文章。
/**
* @version 1.0
* @description: 初始化memcached相关配置
* @date 2020-09-16 19:27
*/
@Component
@Slf4j
public class MemcachedRunner implements CommandLineRunner {
@Resource
private MemcacheSource memcacheSource;
private MemcachedClient client = null;
@Override
public void run(String... args) throws Exception {
try {
client = new MemcachedClient(new InetSocketAddress(memcacheSource.getIp(),memcacheSource.getPort()));
} catch (IOException e) {
log.error("inint MemcachedClient failed ",e);
}
}
public MemcachedClient getClient() {
return client;
}
}
处理到这,相关的环境搭建就已经可以了,下面写个测试类来验证下是否有效,缓存数据。
@RunWith(SpringRunner.class)
@SpringBootTest
public class MemcachedTest {
@Resource
private MemcachedRunner memcachedRunner;
@Test
public void testSetGet() {
MemcachedClient memcachedClient = memcachedRunner.getClient();
memcachedClient.set("tel",1000,"13128600812");
System.out.println("作者微信号:" + memcachedClient.get("tel"));
}
}
运行结果如下(若有小伙伴需要定制软件,可以联系我,下方微信号真实有效,童叟无欺)