`

windows下xmemcached应用

阅读更多

 


一、安装

下载memcached-win32-1.4.4-14.exe

1 解压到指定目录,如D:\mem1.44\memcached-win32-1.4.4-14\

2 用cmd打开命令窗口,转到解压的目录,输入 memcached.exe -d install  

3 打开控制面板,打开服务,可以看到memcached已经在上面可,如果没有启动,则手动启动一下。

二、使用

安装memcached后,我们怎么用?

Memcached,我们可以看成一种缓存服务器,我们将某些数据入库的时候,要先将这些数据以key-value的形式存到memcached中,这样我们需要数据的时候,先到memcached中查找,如果有,则取出来用,如果没有,再去数据库中查找,查找出来后,将查找出来的数据存到memcached中,供下次用。

既然如此,我们在后台处理数据的时候,对数据存取,成了使用memcached最大的问题。

还好,memcached对于数据存取有很多解决方案,比如memcached本身提供的java memcached clent,比如xmemcached等,对比一下,xmemcached有很多优点,所以我们采用xmemcached方式存取数据。

需要的jar包

导入工程后,新建一个测试类:

 

MemcachedClientBuilder builder= new XMemcachedClientBuilder(AddrUtil
              .getAddresses("localhost:11211"));
       MemcachedClient memcachedClient = null;
       try {
           memcachedClient = builder.build();
       } catch (IOException e1) {
           e1.printStackTrace();
       }
       try {
           //第一个参数:key。第二个参数:单位是秒,意思是存储时间,0为永久
           //第三个参数:value
           memcachedClient.set("hello", 0, "Hello,xmemcached");
 
           String value= memcachedClient.get("hello");
           System.out.println("hello=" + value);
 
           memcachedClient.delete("hello");
           value= memcachedClient.get("hello");
           System.out.println("hello=" + value);
 
       } catch (MemcachedException e) {
           System.err.println("MemcachedClientoperation fail");
           e.printStackTrace();
       } catch (TimeoutException e) {
           System.err.println("MemcachedClientoperation timeout");
           e.printStackTrace();
       } catch (InterruptedException e) {
           // ignore
    }
    try {
       memcachedClient.shutdown();
    } catch (IOException e) {
       System.err.println("ShutdownMemcachedClient fail");
       e.printStackTrace();
    }

 

三、spring+xmemcached

 

 

1 建立web工程,搭建spring环境

导入包

在spring的xml文件中添加如下代码:

 

<bean name="memcachedClient"
                class="net.rubyeye.xmemcached.utils.XMemcachedClientFactoryBean">
                <property name="servers">
                        <value>localhost:11211</value>
                </property>
<!—由于只有一台memcached缓存器,所以不配如下权重了
                <propertyname="weights">
                        <list>
                               <value>1</value>
                                <value>2</value>
                               <value>3</value>
                        </list>
                </property>
             
  -->
 
<property name="sessionLocator">
                        <bean class="net.rubyeye.xmemcached.impl.KetamaMemcachedSessionLocator"></bean>
                </property>
                <property name="transcoder">
                        <bean class="net.rubyeye.xmemcached.transcoders.SerializingTranscoder"/>
                </property>
                <property name="bufferAllocator">
                        <bean class="net.rubyeye.xmemcached.buffer.SimpleBufferAllocator"></bean>
                </property>
                 </bean>



 

2 简单解释参数

servers
服务器列表,格式:ip:port

weights 权重 越大,存储量越大
主机映射:host1对应1号、host2对应2号..

sessionLocator
Session 分配器,有自带的,影响分布式

transcoder
通信编码方式

bufferAllocator
缓冲区分配器

 

这些参数都用xmemcached自带的解释方式就行。

 

 

测试类代码:

 

ApplicationContext context = newClassPathXmlApplicationContext("beans.xml");
       XMemcachedClient xmc=(XMemcachedClient) context.getBean("memcachedClient");
       try {
           xmc.set("hello", 0, "pms");
       } catch (TimeoutExceptione1) {
           e1.printStackTrace();
       } catch (InterruptedException e1) {
           e1.printStackTrace();
       } catch (MemcachedException e1) {
           e1.printStackTrace();
       }
       try {
           Thread.sleep(1000);
       } catch (InterruptedException e) {
           e.printStackTrace();
       }
      
       try {
           String str=xmc.get("hello");
           System.out.println(str);
           xmc.shutdown();
       } catch (TimeoutException e) {
           e.printStackTrace();
       } catch (InterruptedException e) {
           e.printStackTrace();
       } catch (MemcachedException e) {
           e.printStackTrace();
       } catch (IOException e) {
           // TODO Auto-generatedcatch block
           e.printStackTrace();
       }
 



运行没出现错误

备注:如果采用spring容器,在web.xml中配置加载文件的话,就不用

ApplicationContext context = new ClassPathXmlApplicationContext("beans.xml");

XMemcachedClient xmc=(XMemcachedClient) context.getBean("memcachedClient");

这两句了,而直接采用注入的方式就可以了,得到的xmc对象即可以操纵数据了。

 

 

 

 

分享到:
评论

相关推荐

    将Java控制台应用作为windows服务

    在Windows操作系统中,通常我们运行的应用程序都是通过图形界面启动的,但有些应用程序,比如Java控制台应用,它们没有GUI,而是直接在命令行中运行。这样的应用如果需要在系统启动时自动启动,或者需要持续运行,就...

    Java环境下Memcached应用详解.docx

    【Java环境下Memcached应用详解】 Memcached是一款高性能的分布式内存对象缓存系统,常用于缓解数据库的压力,提高网站性能。在Java环境下,Memcached能够作为集群环境下的缓存解决方案,适用于处理大量数据并需要...

    memcached安装及java应用使用memcached

    3. **Java客户端库**:介绍常用的Java库,如spymemcached、xmemcached等,用于与memcached通信。 4. **配置Java应用**: - **添加依赖**:在Maven或Gradle项目中引入相应客户端库。 - **连接设置**:如何配置连接...

    memcache学习资料(包含memcache和java_memcache相应的jar)

    `java_memcache`相关的JAR文件通常包含了Java Memcached客户端库,如Xmemcached或spymemcached,这些库提供了API,让Java开发者能够方便地在Java应用中集成和使用Memcached服务。 在Windows环境下部署和使用...

    memcached-win64-1.4.4-14下载,无需积分

    这些库如Spymemcached、Xmemcached和Memcached-Java-Client等,允许Java应用无缝地连接到Memcached服务器,实现数据的快速存取。 **3. 64位Windows兼容** "win64"表明这个版本的Memcached是专为64位Windows操作...

    memcached缓存

    本文将深入探讨memcached与Java的结合使用,以及在Windows和Linux环境下的安装步骤。 **1. memcached的基本概念** - **分布式缓存**:memcached是一种分布式缓存解决方案,它可以将数据分散存储在多台服务器上,...

    memcached 的使用,以及jar包,和工具

    4. **安装与配置**:学习从`MenCached安装.txt`文件中提取的信息,完成memcached在Windows环境下的安装和配置。 5. **版本选择**:理解不同memcached版本的差异,以及为什么在这种情况下选择了1.2.1的32位版本。 ...

    JAVA+MYSQL+Memcached

    在提供的文件"memcache学习总结(java版-winwods).docx"中,可能详细介绍了如何在Windows环境下使用Java来操作Memcached,包括安装步骤、配置以及基本的增删查改操作。 至于"Memcached_1.2.5.zip",这应该是...

    JAVA的memcache服务器安装以及相关最新jar包

    总结以上内容,本文档主要涵盖了在Java环境下安装和使用Memcached服务器的步骤,以及如何利用Java客户端库(如spymemcached和xmemcached)进行数据存取操作。这些知识点对于开发高并发、高性能的Web应用非常有用。

    memCached win64服务端和Java客户端

    这个压缩包包含了在Windows 64位环境下运行的memcached服务端以及用于Java应用程序的客户端库。 **memcached服务端(win64)** 1. **安装与配置**:在Windows 64位操作系统上,memcached服务端的安装通常涉及下载...

    memcached简单实用

    本资源包含在Windows环境下安装memcached所需的文件,以及Java开发中与memcached交互所需的jar包。 **知识点详解**: 1. **memcached**:memcached是由Danga Interactive开发的一个分布式内存对象缓存系统,用于在...

    memcached安装包以及java所需的memcached架包

    2. **初始化连接**:在代码中,首先需要创建一个Memcached客户端实例,通常使用Spymemcached或XMemcached等客户端库,指定memcached服务器的地址和端口。 3. **操作缓存**:现在你可以开始进行基本的缓存操作,如`...

    win7 64位 memcached springmvc memcached jar包

    总之,在`Win7 64位`环境下,使用`SpringMVC`配合`Memcached`进行开发,可以为Web应用带来显著的性能提升。正确配置和使用这两个组件,需要对Java Web开发、Spring框架和分布式缓存有一定的理解。通过不断的实践和...

    java的memcache的服务器以及引用jar包河测试案例

    对于Linux系统,可以使用`apt-get`或`yum`命令来安装,对于Windows,可以从官方网站下载预编译的二进制版本。安装完成后,启动Memcached服务,使用默认配置即可。 在Java中使用Memcached,你需要引入一个Java客户端...

    memcached讲解

    为了在Java应用中实现缓存功能,可以使用现成的客户端库,如Spymemcached或XMemcached。这些库提供了方便的API接口,使得开发者能够轻松地将Memcached集成到Java应用中。 ##### 3.2 实现过程 1. **选择合适的...

    memcache实现java客户端

    4. **安装与配置**:在Windows环境下,你需要首先下载并安装Memcache服务器,然后配置服务端口(默认为11211)。确保服务器正常运行后,就可以在Java应用中连接到它。 5. **连接Memcache**:使用Java客户端连接到...

    memcached相关资料及spring配置文件和封装接口和类

    在 **Windows** 操作系统上使用 Memcached,你需要首先下载并安装 Memcached 的 Windows 版本。这通常是一个可执行文件,安装后会在后台运行一个服务器进程,等待客户端的连接请求。在本压缩包中,你应该能找到这个...

    java 写的memCached小例子.

    对于Windows环境下安装Memcached,可以下载预编译的二进制包,解压后启动服务。例如,下载地址为:http://memcached.org/downloads。启动命令通常为 `memcached.exe -d install` 和 `memcached.exe -d start`。 总...

    缓存服务memcached

    在Windows环境下,安装和运行Memcached相对简单。通常,你可以下载预编译的二进制版本,解压缩后直接运行。在提供的压缩包中,可能包含的就是这个预编译的二进制文件。启动Memcached服务后,它会监听默认的11211端口...

Global site tag (gtag.js) - Google Analytics