memcached安装(centos为例)
memcached安装(centos为例)
这里建议用yum或rpm安装,比较简单、易用
memcached依赖libevnet,所以需要先安装libevent(2.0.21)
yum install libevent libevent-devel
安装端口查看插件(已安装请忽略)
yum install lsof
安装memcached(1.4.15)
yum install memcached
memcached命令参数
参数 | 说明 |
---|---|
-l <ip_addr> | 指定进程监听的IP地址,可以不设置此参数 |
-d | 以守护进程(daemon)方式运行服务 |
-u | 指定运行Memcached的用户,如果当前用户为root,需要使用此参数指定用户。 |
-p(小写) | 指定Memcached服务监听TCP端口号。默认为11211 |
-P(大写) | 设置保存Memcached的pid文件($$),保存PID到指定文件 |
内存相关设置 | |
参数 | 说明 |
--- | --- |
-m | 指定Memcached服务可以缓存数据的最大内存。默认为64M |
-M | Memcached服务内存不够时禁止LRU,如果内存满了会 报错 |
-n | 为key+value+flags分配的最小内存空间,默认48字节 |
-f | chunk size增长因子,默认1.25 |
-L | 启用大内存页,可以降低内存浪费,改进性能 |
并发连接设置 | |
参数 | 说明 |
--- | --- |
-c | 最大的并发连接数,默认是1024 |
-t | 线程数,默认4.由于memcached采用NIO,所以太多线程作用不大。 |
-R | 每个event最大请求数,默认20 |
-C | 禁用CAS(可以禁止版本计数,减少开销) |
调试参数 | |
参数 | 说明 |
--- | --- |
-v | 打印较少的errors/warnings |
-vv | 打印非常多调试信息和错误输出到控制台,也打印客户端命令及响应 |
-vvv | 打印极多的调试信息和错误输出,打印内部状态转变 |
其它选项可以通过“memcached -h”命令可以显示所有可用选项 |
启动memcached,先通过命令查看memcached所在路径(加入自启动省略)
whereis memcached
启动实例(启动多实例修改端口号即可)
memcached -m 16m -p 11211 -d -u root -c 8192
查看进程
ps -ef |grep memcached|grep -v grep
停止服务
kill -9 进程ID
备注:memcached安装完成后会自动注册成服务
systemctl start|status|stop|restart memcached.service
memcached、redis图形化操作工具
链接:https://pan.baidu.com/s/1LQ6YoEL46xqXhXwLKCA4ZQ
提取码:5atb
memcached的maven依赖包
<!-- https://mvnrepository.com/artifact/spy/memcached -->
<dependency>
<groupId>spy</groupId>
<artifactId>memcached</artifactId>
<version>2.4rc1</version>
</dependency>
memcached简单测试及输出
try{
// 本地连接 Memcached 服务
MemcachedClient mcc = new MemcachedClient(new InetSocketAddress("192.168.226.200", 11211));
System.out.println("Connection to server successful.");
// 存储数据
Future fo = mcc.set("runoob", 900, "Free Education");
// 查看存储状态
System.out.println("set status:" + fo.get());
// 输出值
System.out.println("runoob value in cache - " + mcc.get("runoob"));
// 关闭连接
mcc.shutdown();
}catch(Exception ex){
System.out.println( ex.getMessage() );
}
2021-06-28 12:45:47.385 INFO net.spy.memcached.MemcachedConnection: Added {QA sa=/192.168.226.200:11211, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
Connection to server successful.
2021-06-28 12:45:47.388 INFO net.spy.memcached.MemcachedConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@27ead29e
set status:true
runoob value in cache - Free Education
2021-06-28 12:45:47.403 INFO net.spy.memcached.MemcachedClient: Shut down memcached client