`

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

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

 

  • 大小: 6.7 KB
  • 大小: 23.2 KB
  • 大小: 18.4 KB
  • 大小: 30.8 KB
0
1
分享到:
评论

相关推荐

    memcache的配置及使用——memcache及其客户端telnet

    除了telnet,还有许多编程语言的客户端库,如PHP的`memcache`和`memcached`扩展,Python的`pylibmc`,Java的`spymemcached`等。这些库提供了更方便的API来操作Memcached,如`set`、`get`、`delete`方法,并支持序列...

    memcached linux安装说明+ java客户端调用例子

    在Linux系统上安装和配置memcached,并通过Java客户端进行调用是常见的操作流程,下面将详细介绍这一过程。 ### 一、memcached的Linux安装 1. **更新系统**: 首先确保你的Linux系统已经更新到最新版本,运行`sudo ...

    linux下安装memcache

    例如,在PHP中,你可以使用`PECL`扩展`memcached`或`memcache`来操作Memcached服务器。 总结,本篇内容主要讲述了在Linux环境下安装Memcached的过程,包括安装依赖、下载源码、编译安装、创建Systemd服务单元以及...

    5.1 Memcache部署和使用-带书签-201809301

    例如,Java的memcached client、spymemcached和xmemcached等客户端可以配置多个Memcache服务器地址,当一个服务器不可用时,会自动切换到其他服务器。 总结,Memcache作为一个高效的内存缓存系统,其部署和使用涉及...

    memcache软件和+教程

    - **安装**:Memcache通常可以通过包管理器(如在Ubuntu上的`apt-get`或CentOS上的`yum`)进行安装,也可以从源代码编译安装。 - **配置**:配置文件一般为`/etc/memcached.conf`,可以设置监听端口、最大内存使用...

    memcache缓存

    开发者可以通过各种编程语言提供的Memcache客户端库与Memcache服务器进行通信。例如: - Python有`python-memcached`库,提供简单的API进行操作。 - PHP中,有`memcache`和`memcached`两个扩展,两者都能实现基本的...

    memcache 安装和使用

    4. **错误处理**:正确处理客户端与服务器之间的通信异常,确保程序健壮性。 5. **缓存更新策略**:根据业务需求,选择合适的缓存更新策略,如定时刷新、脏数据检测等。 ### 四、扩展 - **一致性哈希**:为解决 ...

    memcached缓存服务器安装与使用

    **memcached缓存服务器安装与使用** `memcached` 是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用程序性能。它广泛应用于网站、API服务和内部应用程序,通过缓存经常访问的数据来...

    memcache使用指南

    Memcached提供了简单的文本协议,支持客户端库,如Python的`python-memcached`,PHP的`memcache`和`memcached`扩展,Java的`spymemcached`等。 1. **添加数据**: ```text set key 0 60 5 value ``` 其中,`...

    linux下用memcache做tomcat集群session复制

    - **Jedis**:为了在Java应用程序(如Tomcat)中与Memcached通信,我们需要一个Java客户端库。Jedis是常用的Redis客户端,但它也支持Memcached协议,因此可以用于与Memcached交互。 3. **Tomcat配置** - **...

    memcached教程.PPT.笔记.软件

    - **安装**:Memcached通常可以通过包管理器在多种操作系统上安装,如在Ubuntu上使用`apt-get install memcached`,在CentOS上使用`yum install memcached`。 - **配置**:配置文件通常为`/etc/memcached.conf`,...

    memcahe资料及安装程序

    - **连接与操作**:客户端库提供了连接、设置、获取、删除等基本操作,例如在PHP中,可以使用`memcache_connect()`函数建立连接,`memcache_set()`和`memcache_get()`进行数据存取。 5. **Memcached的应用场景** ...

    SSM整合memcached

    可以使用各种操作系统上的包管理器(如Ubuntu的`apt-get`,CentOS的`yum`)来安装,或者直接下载源码编译安装。 2. **添加依赖**:在项目中,我们需要引入Memcached的客户端库,如spymemcached。在Maven的pom.xml...

    PHP MemCached高级缓存配置图文教程

    - [CentOS 5.4 下的 Memcache 安装步骤](https://example.com) - [Linux 下安装 memcached_动力节点 Java 学院整理](https://example.com) - [Linux 下安装 memcached 及 memcacheq 的方法](https://example.com) - ...

    大数据应用案例 大数据培训视频教程-大数据高并发架构实战案例.docx

    本课程主要针对的是Java开发人员,旨在通过实例教学来探讨如何构建高并发、大数据量的网站平台。课程由经验丰富的讲师Tom5授课,涵盖了多种关键技术和实战案例,以帮助学员快速掌握千万级高并发大数据网站的搭建。 ...

Global site tag (gtag.js) - Google Analytics