我们首先可以在官网上下载Memcached的安装包
https://www.memcached.org/downloads
你可以在官网进行下载
接下要做什么呢?
先别着急启动
我们首先要进行安装
在windows控制台执行
memcached.exe -d install
注意:在我们安装Memcached的时候首先要以管理员的身份去运行cmd命令
然后再启动
memcached.exe -d start
我们想要停止memcached的服务时执行
memcached.exe -d stop
这里我已经安装过了
好了安装就已经结束了
下面我们来进行一个springboot对memcacehd的简单的整合
因为springboot未提供对于memcached的整合。因此我们需要使用硬编码的方式去实现客户端的初始化管理
memcached的客户端有
Memcached Client for JAVA 最早的客户端 比较稳定
SpyMemcached 效率高
Xmemcached 并发处理更好
在这里我们选择Xmemcached客户端
首先springboot既然没有对memcached进行整合,那么我们第一步要做得就是将memcached交给springboot 由springboot进行管理 创建bean
我们首先要做的就是将Xmemcached客户端坐标引入
com.googlecode.xmemcached
xmemcached
2.4.7
还有一点我们不要忘记就是对memcached在配置文件中进行配置。
告诉springboot我现在要使用Memcached的缓存技术了
并且告诉memcached服务端的地址和端口号
memcached:
servers: localhost:11211
poolsize: 10 #配置连接池的大小
opTimeout: 3000 #配置缓存数据的保留时间
然后就是手动进行客户端的初始化
在这里我们通过加载配置文件的方式进行客户端的初始化
@Component
public class memcached {
@Autowired
private XmemcachedBuilder xmemcachedBuilder;
@Bean
public MemcachedClient getmemcached() throws IOException {
//在这里进行优化在配置文件中读取配置
MemcachedClientBuilder memcachedClientBuilder=new XMemcachedClientBuilder(xmemcachedBuilder.getServers());
//设置过期时间
memcachedClientBuilder.setOpTimeout(xmemcachedBuilder.getOpTimeout());
//设置最大连接池
memcachedClientBuilder.setConnectionPoolSize(xmemcachedBuilder.getPoolsize());
MemcachedClient memcachedClient= memcachedClientBuilder.build();
return memcachedClient;
}
}
然后就和我们操作redis缓存技术类似了
//springboot中使用memcacehd
@Autowired
private MemcachedClient memcachedClient;
@Autowired
private XmemcachedBuilder xmemcachedBuilder;
@Override
public String get(String tele) {
String generator = util.generator(tele);
try {
memcachedClient.set(tele,0,generator);
} catch (Exception e) {
e.printStackTrace();
}
return generator;
}
@Override
public Boolean check(SMScode scode) {
String cachecode=null;
try {
cachecode= memcachedClient.get(scode.getTele()).toString();
} catch (Exception e) {
e.printStackTrace();
}
String code = scode.getCode();
return code.equals(cachecode);
}
如果你看不懂我上面写的是什么请参考以前的文章
JAVA手机验证码的生成简单实现_code-king的博客-CSDN博客_java手机验证码怎么实现
springboot的缓存技术以及完成手机验证案例_code-king的博客-CSDN博客_springboot缓存验证码
其实我在上面的代码中就做了两件事
第一件事将生成的验证码放入memcached中
memcachedClient.set(tele,0,generator);
第二件事将验证码取出来
memcachedClient.get(scode.getTele()).toString();
我在这里仅仅演示了如何存放 和取出数据从Memcacehd的缓存中
如果想要深入的了解memcacehd你需要对它进入深入的学习
现在整合已经完成了
请多多关注我 一个喜欢curry的代码小白