linux java 缓存服务器,linux服务器缓存环境memcached筹建及应用(java)

linux服务器缓存环境memcached搭建及应用(java)

1.下载memcached服务器端安装文件http://www.danga.com/memcached/download.bml

2.下载libevent-1.4.12-stable.tar.gz,memcached需要用到socked,依赖此安装文件,下载地址:http://www.monkey.org/~provos/libevent/

3.由于linux系统可能默认已经安装libevent,

执行命令:rpm -qa|grep libevent查看系统是否带有该安装软件

如果有执行命令:rpm -e libevent-1.1a-3.2.1 --nodeps(由于系统自带的版本旧,忽略依赖删除)

4.安装libevent,

tar zxvf libevent-1.4.12-stable.tar.gz

cd libevent-1.4.12-stable

./configure --prefix=/usr/local/libevent-1.4

make

make install

5.安装memcached

tar zxvf memcached-1.4.0.tar.gz

cd memcached-1.4.0

./configure --prefix=/usr/local/memcached-1.4 --with-libevent=/usr/local/libevent-1.4.2/

make

make install

至此memcached安装完毕

6.启动memcached命令:

./memcached -d -m 1024 -l 192.168.1.129 -p 11211

# /usr/local/bin/memcached -d -m 200 -u root -l 192.168.1.91 -p 12301 -c 1000 -P /tmp/memcached.pid

相关解释如下:

-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`

也可以启动多个守护进程,但是端口不能重复

注:如果在启动过程中出现如下错误:

error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

由于libevent安装的时候指定了目录,可能导致memcached找不到该文件,可以执行如下命令修改此错误

查找错误:LD_DEBUG=libs /usr/local/memcached-1.4/bin/memcached -v

会发现memcached查找依赖libevent是在/usr/lib/查找libevent-1.4.so.2

然后执行命令

ln -s /usr/local/libevent-1.4.2/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2

问题即可解决

memcached的java客户端jar包下载地址:http://www.whalin.com/memcached/#download

简单应用:

SockIOPool pool = SockIOPool.getInstance();

pool.setServers(servers);

pool.setWeights(weighs);

pool.setInitConn(initConn);

pool.setMaxConn(maxConn);

pool.setMinConn(minConn);

pool.setMaxIdle(maxIdle);

pool.setMaintSleep(maintSleep);

pool.setSocketTO(socketTO);

pool.setNagle(false);

pool.initialize();

MemCachedClient mcc = new MemCachedClient();

public boolean set(String key, Object value, Date expire){

if(expire != null)

return mcc.set(key, value, expire);

else

return mcc.set(key, value);

}

/**

* 获取记录

*

* @param key 键值

* @return  之前存储的数据

*/

public Object get(String key){

return mcc.get(key);

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值