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

 

目录
相关文章
|
3月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
729 69
|
2月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
886 3
|
3月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
339 78
|
2月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
462 16
|
4月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
224 80
|
3月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
281 10
|
4月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
440 3
|
3月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
307 0
|
3月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。
|
3月前
|
存储 Ubuntu Linux
安卓手机免root安装各种Linux系统:Ubuntu, Centos,Kali等
此外还可以安装Slackware、Archstrike等系统,还可以通过github查找方法安装更多有趣的东西。 昨日小编就是通过Termux安装的Kali Linux工具包。