安装:
下载安装
下载了,我到了其官方(http://memcached.org/),目前最新的下载版本是1.4.5
还要再安装libevent这个软件,从官方(http://monkey.org/~provos/libevent/)下载,目前最新的稳定版是1.4.14。
下载后,将其上传到了/home/blue/下面
执行以下命令
复制代码
cd /home/blue
tar zxvf memcached-1.4.5.tar.gz
tar zxvf libevent-1.4.14b-stable.tar.gz
#安装libevent
cd libevent-1.4.14b-stable
./configure --prefix=/home/lilong/memcachestore/libevent-1.4.14b-stable
make
make install
#安装memcache
cd /home/blue/memcached-1.4.5
./configure --prefix=/home/lilong/memcachestore/memcached-1.4.5 --with-libevent=/home/lilong/memcachestore/libevent-1.4.14b-stab
make
make install
启动memcache服务
./memcached -p 12677 -U 0 -d -r -u root -m 2040 -c 1024 -t 4
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是200MB
-u是运行Memcache的用户,如果当前为 root 的话,需要使用此参数指定用户。
-l是监听的服务器IP地址,如果有多个地址的话,我这里指定了服务器的IP地址192.168.1.91
-p是设置Memcache监听的端口,我这里设置了12301,最好是1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置了256
-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid
停止Memcache进程:
# kill `cat /tmp/memcached.pid`
也可以启动多个守护进程,但是端口不能重复
检查服务:
1、查看启动的memcache服务:
netstat -an | grep 12677
2、查看memcache的进程号(根据进程号,可以结束memcache服务:“kill -9 进程号”)
ps -ef | grep memcached
测试memcached
telnet 127.0.0.1 12677
memcache client for java -----API 简单使用
package memcachetest;
import com.danga.MemCached.MemCachedClient;
import com.danga.MemCached.SockIOPool;
/**
* memcache客户端测试
*
* @author boco
*
*/
public class MemcacheTest {
public static void main(String[] args) {
/**
*
* 初始化SockIOPool,管理memcached的连接池
*
* */
String[] servers = { "127.0.0.1:12677" };
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
/**
*
* 建立MemcachedClient实例
*
* */
MemCachedClient memCachedClient = new MemCachedClient();
// for (int i = 0; i < 1000; i++) {
/**
*
* 将对象加入到memcached缓存
*
* */
boolean success = memCachedClient.set("" + 1, " Memcache,Hello!");
/**
*
* 从memcached缓存中按key值取对象
*
* */
String result = (String) memCachedClient.get("" + 1);
System.out.println(String.format("set( %d ): %s", 1, success));
System.out.println(String.format("get( %d ): %s", 1, result));
// }
}
}
这个api需要的jar文件由于官网没有提供,需要手动的加入jar文件(或者手动的将该jar文件加入到maven本地仓库中)
需要用到的jar文件:slf4j-simple、slf4j-api、commons-pool三个包
下载地址https://github.com/gwhalin/Memcached-Java-Client/downloads-----
java_memcached-release_2.6.2.zip — Release 2.6.2, add SASL support and a lot of issue fix.