memcached的安装(centOS7)

  • Post author:
  • Post category:其他


安装libevent,命令如下

yum install libevent libevent-devel

安装memcached

wget http://memcached.org/latest 
tar -zxvf latest 
cd memcached-1.4.24/ 
./configure --prefix=/usr/local/memcached 
make && make install 

启动

/usr/local/memcached/bin/memcached -d -u root -m 512 -p 11211

启动参数说明:

-d 选项是启动一个守护进程。

-u root 表示启动memcached的用户为root。

-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB。

-p 是设置Memcache的TCP监听的端口,默认为11211

检查是否启动成功:

pgrep memcached
netstat -tulpn | grep :11211  
ps -ef | grep memcached  

防火墙设置

firewall-cmd --zone=public --add-port=11211/tcp --permanent
firewall-cmd --zone=public --add-port=11211/udp --permanent 
firewall-cmd --reload

java客户端测试,使用的是Memcached Java Client API

下载java_memcached-release相关的jar包并引入

测试代码

public class TestMemCached {
	
	@Before
	public void init() {
		/*初始化SockIOPool,管理memcached的连接池*/  
        String[] servers = { "192.168.80.11:11211" };  
        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();
	}

	@Test
	public void test() {
        /*建立MemcachedClient实例*/  
        MemCachedClient memCachedClient = new MemCachedClient();  
        for (int i = 0; i < 3; i++) {  
            /*将对象加入到memcached缓存*/  
            boolean success = memCachedClient.set("" + i, "Hello!" + i);  
            /*从memcached缓存中按key值取对象*/  
            String result = (String) memCachedClient.get("" + i);  
            System.out.println("第" + (i + 1) + "条" + (success ? "插入成功!" : "插入失败!"));  
            System.out.println("获取的值是:" + result);  
        }  
	}
	
	@Test
	public void testSet() {
		MemCachedClient memCachedClient = new MemCachedClient();
		System.out.println(memCachedClient.set("test", "heheda!", new Date(new Date().getTime() + 10000))); // 设置10秒超时 
	}
	
	@Test
	public void testGet() {
		MemCachedClient memCachedClient = new MemCachedClient();
		System.out.println(memCachedClient.get("test"));
	}

}



版权声明:本文为HGengZ原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。