CentOS 安装 Memcache 服务器. java 做客户端.-阿里云开发者社区

开发者社区> pythonstock> 正文

CentOS 安装 Memcache 服务器. java 做客户端.

简介:   1,下载安装第三方源:   CentOS 6 或 RedHat 6 安装此rpm , 其他 下载 :http://pkgs.repoforge.org/rpmforge-release/     wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm rp
+关注继续查看

 

1,下载安装第三方源:

 

CentOS 6 或 RedHat 6 安装此rpm , 其他 下载 :http://pkgs.repoforge.org/rpmforge-release/

 

 

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm

rpm -ivh rpmforge-release-0.5.2-2.el6.rf.i686.rpm

 

wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

 

2,安装memcahce.


yum install memcached

 


 

3,启动服务.

 

service memcached start

 

将服务设置 为自动启动:


 

chkconfig memcached on

 

 

4,测试客户端.(需要安装 nc)

 

yum install nc

 

具体命令参考:[引用]

 

http://blog.s135.com/post/384/

 

 

1、数据存储(假设key为zhangyan,value为12345)

printf "set zhangyan 0 0 5\r\n12345\r\n" | nc 127.0.0.1 11211

 STORED

  2、数据取回(假设key为zhangyan)

printf "get zhangyan\r\n" | nc 127.0.0.1 11211

 VALUE zhangyan 0 5
 12345
 END


  3、数值增加1(假设key为zhangyan,并且value为正整数)

printf "incr zhangyan 1\r\n" | nc 127.0.0.1 11211

 12346

  4、数值减少3(假设key为zhangyan,并且value为正整数)

printf "decr zhangyan 3\r\n" | nc 127.0.0.1 11211

 12343

  5、数据删除(假设key为zhangyan)

printf "delete zhangyan\r\n" | nc 127.0.0.1 11211

 DELETED

  6、查看Memcached状态

printf "stats\r\n" | nc 127.0.0.1 11211

 STAT pid 3025
 STAT uptime 4120500
 STAT time 1228021767
 STAT version 1.2.6
 STAT pointer_size 32
 STAT rusage_user 433.463103
 STAT rusage_system 1224.515845
 STAT curr_items 1132460
 STAT total_items 8980260
 STAT bytes 1895325386
 STAT curr_connections 252
 STAT total_connections 547850
 STAT connection_structures 1189
 STAT cmd_get 13619685
 STAT cmd_set 8980260
 STAT get_hits 6851607
 STAT get_misses 6768078
 STAT evictions 0
 STAT bytes_read 160396238246
 STAT bytes_written 260080686529
 STAT limit_maxbytes 2147483648
 STAT threads 1
 END


  7、模拟top命令,查看Memcached状态:

watch "printf 'stats\r\n' | nc 127.0.0.1 11211"


  或者

watch "echo stats | nc 127.0.0.1 11211"

 



 

5.使用java 客户端连接memcache服务器.

 

继续添加虚拟机端口.

 


同时修改 iptables 配置文件.

 


重启 iptables

 

 

service iptables restart

 

5,java 工程 demo.

 

 

package com.test.demo;

import java.io.IOException;
import java.net.InetSocketAddress;
import net.spy.memcached.MemcachedClient;

public class MemcachedDemo {

	public static void main(String[] args) throws IOException {

		long t1 = System.currentTimeMillis();

		MemcachedClient memcachedClient = new MemcachedClient(
				new InetSocketAddress("127.0.0.1", 11211));
		// 可以设置多个..new InetSocketAddress("127.0.0.1", 11211)

		for (int i = 0; i < 10000; i++) {
			UserInfo userInfo = new UserInfo();
			userInfo.setUserName("name" + i);
			userInfo.setPasswd("passwd" + i);
			userInfo.setAge(i % 99);
			// 更新后被替换..
			memcachedClient.add("user_" + i, 3600, userInfo);
		}
		System.out.println("finish.");

		// 删除key
		memcachedClient.delete("user_0");
		memcachedClient.delete("user_1");
		memcachedClient.delete("user_2");

		// 按照key得到数据.
		for (int i = 0; i < 10000; i++) {
			if (i % 1000 == 0) {
				Object userInfo = memcachedClient.get("user_" + i);
				System.out.println(i + "\t" + userInfo);
			}
		}

		for (int i = 3; i < 1000; i++) {
			// 删除数据
			memcachedClient.delete("user_" + i);
		}

		// 一定用完毕要关闭.
		memcachedClient.shutdown();

		long t2 = System.currentTimeMillis();
		System.out.println("Program has executed for "
				+ (int) ((t2 - t1) / 1000) + " s " + ((t2 - t1) % 1000)
				+ " ms ");
	}

}

 

 

执行结果:

 

 

 

 

 

有的时候会报错误.是因为一次取数据太多了.超时了.

 

 

Exception in thread "main" net.spy.memcached.OperationTimeoutException: Timeout waiting for value
	at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1142)
	at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1157)
	at com.test.demo.MemcachedDemo.main(MemcachedDemo.java:35)
Caused by: net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting for operation - failing node: /127.0.0.1:11211
	at net.spy.memcached.internal.OperationFuture.get(OperationFuture.java:65)
	at net.spy.memcached.internal.GetFuture.get(GetFuture.java:37)
	at net.spy.memcached.MemcachedClient.get(MemcachedClient.java:1135)
	... 2 more

 

 是在测试的时候 循环了 10000 次造成的吧..

 

也可.在 hibernate 里面配置 二级缓存 为 memcache .

 

附件:

java 工程下载.

 

下载java_src

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
分布式系统架构中高可用方案技术选型:Hystrix 框架实现服务保护使用详解
本篇文章介绍了分布式系统架构下的经典的高可用框架Hsytrix实现的断路器,服务降级,服务熔断,服务隔离以及解决服务雪崩效应的问题。详细分析了基于Hystrix框架解决分布式系统中服务雪崩效应的几种机制,以及在项目中如何集成Hystrix框架并且在项目中使用Hystrix框架实现分布式系统中的服务治理。
281 0
windows服务器下oracle数据库查看客户端安装位置,查看oracle数据库实例启用的端口号
windows服务器下oracle数据库查看客户端安装位置,查看oracle数据库实例启用的端口号
13 0
Tomcat服务器java.lang.IllegalArgumentException异常
Tomcat服务器java.lang.IllegalArgumentException异常
28 0
git centos yum 安装 (服务器端 ,客户端)
  21.git 服务器端安装 centos yum       21.1安装服务器端 yum install -y git git --version 查看安装   21.
801 0
CentOS6.9源码编译安装memcached
这篇笔记记录了在CentOS6.9中源码编译安装libevent和memcached,设置开机启动,以及telnet测试的过程
1193 0
linux centos安装zabbix 4.0服务端
linux centos安装zabbix 4.0服务端1、服务器安装docker sudo yum install -y yum-utils device-mapper-persistent-data lvm2 sudo yum-config-manager --add-repo http://mirrors.
1484 0
+关注
pythonstock
数据库算法相关专家
393
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载