ITKeyword,专注技术干货聚合推荐

注册 | 登录

Linux下Memcache服务器端的安装与两种java客户端调用示例

sdu_wizard 2012-02-28

相关推荐:服务器数据库系列 - Memcache在linux下安装

Memcache安装和使用 安装Memcache tar zxvf memcached-1.4.0.tar.gz cd memcached-1.4.0 ./configure --with-libevent=/usr/local/lib make make install 安装PH

Linux下Memcache服务器端的安装与两种java客户端调用示例Memcache安装:1.Memcache用到了libevent这个库用于Socket的处理,如果系统没有安装libevent,需要先安装libevent。官网:http://www.monkey.org/~provos/libevent/这个东西在配置时需要指定一个安装路径,即./configure --prefix=/usr,然后make,然后make install。测试libevent是否安装成功:# ls -al /usr/lib | grep libeventlrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3-rwxr-xr-x 1 root root 263546 11?? 12 17:38 libevent-1.2.so.1.0.3-rw-r--r-- 1 root root 454156 11?? 12 17:38 libevent.a-rwxr-xr-x 1 root root 811 11?? 12 17:38 libevent.lalrwxrwxrwx 1 root root 21 11?? 12 17:38 libevent.so -> libevent-1.2.so.1.0.3如果有以上信息,表明libevent已经装好了。2.下载memcache最新版本:http://code.google.com/p/memcached/downloads/list需要在配置时需要指定libevent的安装路径即./configure --with-libevent=/usr,然后make,然后make install,安装完成后会把memcached放到 /usr/local/bin/memcached 。测试是否成功安装memcached:# ls -al /usr/local/bin/mem*-rwxr-xr-x 1 root root 137986 11?? 12 17:39 /usr/local/bin/memcached-rwxr-xr-x 1 root root 140179 11?? 12 17:39 /usr/local/bin/memcached-debugmemcached的基本设置:1.启动Memcache的服务器端:# /usr/local/bin/memcached -d -m 100 -u root -l 127.0.0.1 -p 12000 -c 256 -P /tmp/memcached.pid-d选项是启动一个守护进程,-m是分配给Memcache使用的内存数量,单位是MB,我这里是100MB,-u是运行Memcache的用户,我这里是root,-l连接的IP地址, 默认是本机,-p是设置Memcache监听的端口,默认是11211,-c选项是最大运行的并发连接数,默认是1024,-P是设置保存Memcache的pid文件,我这里是保存在 /tmp/memcached.pid-f 块大小增长因子,默认是1.25,-n 最小分配空间,key+value+flags默认是48,-h 显示帮助,-v 输出警告和错误信息,-vv 打印客户端的请求和返回信息,-M 内存耗尽时返回错误,而不是删除项memcached启动的时候最容易出的一个错误时找不到libevent.so.2报如下错误:error while loading shared libraries: libevent.so.2: cannot open shared object file: No such file or directory这时候我们可以执行如下命令:LD_DEBUG=libs /usr/local/bin/memcached -v2.如果要结束Memcache进程,执行:# kill `cat /tmp/memcached.pid`也可以启动多个守护进程,不过端口不能重复。Java客户端:目前主要有两种客户端:1. https://github.com/gwhalin/Memcached-Java-Client/2. http://code.google.com/p/spymemcached/简单例子如下:public

void testDanga() {

/*初始化SockIOPool,管理memcached的连接池*/

String[] servers = { "192.168.0.10:11211"};

SockIOPool pool = SockIOPool.getInstance();

pool.setServers(servers);

pool.setFailover(true);

pool.setInitConn(10);

pool.setMinConn(5);

pool.setMaxConn(250);

//设置主线程睡眠时间,每30秒苏醒一次,维持连接池大小

pool.setMaintSleep(30);

//关闭套接字缓存

pool.setNagle(false);

//连接建立后的超时时间

pool.setSocketTO(3000);

pool.setAliveCheck(true);

pool.initialize();

/*建立MemcachedClient实例*/

MemCachedClient memCachedClient = new MemCachedClient();

memCachedClient.set(&q

相关推荐:Linux下Memcache服务器端的安装

Linux下Memcache服务器端的安装服务器端主要是安装memcache服务器端,目前的最新版本是 memcached-1.3.0 。下载:http://www.danga.com/memcached/dist/memcache

uot;key1", "haha");

String result = (String) memCachedClient.get("key1");

System.out.println(result); }

public void testSpy() {

try{

MemcachedClient mc = new MemcachedClient(new

InetSocketAddress("192.168.0.10", 11211));

Future<Boolean> b = null;

/*将key值,过期时间(秒)和要缓存的对象set到memcached中*/

b = mc.set("key2", 9000, "heihei");

Object result = mc.get("key2");

if(null!=result){

System.out.println(result.toString());

}

if(b.get().booleanValue()==true){

mc.shutdown();

}

}catch(Exception ex){

ex.printStackTrace();

} }设置用户名、密码:启用SASL验证机制SASL全称Simple Authentication and Security Layer,是一种用来扩充C/S模式验证能力的机制。 简单来说SASL是一个胶合(glue)库,通过这个库把应用层与形式多样的认证系统整合在一起。这有点类似于 PAM,但是后者是认证方式,决定什么人可以访问什么服务,而SASL是认证过程,侧重于信任建立过程,这个过程可以调用PAM来建立信任关系。在这里Memcached就是上面提到的应用层,具体的认证交给SASL库,SASL会根据相应的认证机制来完成验证功能。默认情况下,Red Hat Enterprise Linux安装程序会自动安装Cyrus-SASL认证包。可使用下面的命令检查系统是否已经安装了Cyrus-SASL认证包或查看已经安装了何种版本。Java代码

1. rpm -qa | grep sasl

下列结果表示已经安装.Java代码

1. cyrus-sasl-plain-2.1.23-8.el6.i686

2. cyrus-sasl-devel-2.1.23-8.el6.i686

3. cyrus-sasl-2.1.23-8.el6.i686

4. cyrus-sasl-lib-2.1.23-8.el6.i686

5. cyrus-sasl-gssapi-2.1.23-8.el6.i686

6. cyrus-sasl-md5-2.1.23-8.el6.i686

查看密码验证机制,输入:Java代码

1. saslauthd -v

显示如下:Java代码

1. saslauthd 2.1.23

2. authentication mechanisms: getpwent kerberos5 pam rimap shadow ldap

当前可使用的密码验证方法有getwent、kerberos5、pam、rimap、shadow和ldap为简单起见,这里准备采用shadow验证方法,也就是直接用/etc/shadow文件中的用户账户及密码进行验证。因此,在配置文件/etc/sysconfig/saslauthd中,应修改当前系统所采用的密码验证机制为shadow,即:Java代码

1. MECH=shadow

重启saslauthd进程Java代码

1. /etc/init.d/saslauthd restart

结果如下:Java代码

1. 停止 saslauthd:[确定]

2. 启动 saslauthd:[确定]

测试SASL验证功能,查看saslauthd进程是否运行Java代码

1. ps aux | grep saslauthd

如果没有发现saslauthd进程,则可用下面的命令启动该进程并设置它开机自启动Java代码

1. /etc/init.d/saslauthd start

2. chkconfig saslauthd on

可用下面的命令测试saslauthd进程的认证功能Java代码

1. /usr/sbin/testsaslauthd –u portaluser –p portaluserpassword

其中,portaluser为Linux系统中的用户账户名,portaluserpassword为用户portaluser的密码。该命令执行后,如果出现如下所示的结果,则表示saslauthd的认证功能已起作用Java代码

1. 0: OK "Success."

亦可以自己添加用户给指定的程序,使用如下命令:Java代码

1. /usr/sbin/saslpasswd2 -a memcached -c portaluser

要求输入密码:Java代码

1. Password:

2. Again (for verification):

添加完用户可以使用上面测试命令验证一下是否成功,添加的用户必须是系统中的用户,上面命令的意思就是,给memcached服务添加可访问的用户,没有添加的系统用户仍然是不可以访问该服务的。 sasl搞定之后就可以安装memcached了。

相关推荐:CentOS 安装 Memcache 服务器. java 做客户端.

 1,下载安装第三方源: CentOS 6 或 RedHat 6 安装此rpm , 其他 下载 :http://pkgs.repoforge.org/rpmforge-release/  wget http://pkgs.repoforge.o

Linux下Memcache服务器端的安装与两种java客户端调用示例Memcache安装:1.Memcache用到了libevent这个库用于Socket的处理,如果系统没有安装libevent,需要先安装libevent。官网:http://ww

相关阅读排行


用户评论

游客

相关内容推荐

最新文章

×

×

请激活账号

为了能正常使用评论、编辑功能及以后陆续为用户提供的其他产品,请激活账号。

您的注册邮箱: 修改

重新发送激活邮件 进入我的邮箱

如果您没有收到激活邮件,请注意检查垃圾箱。