下载Memcached for windows服务器,安装好以后会在服务中出现
默认端口是11211
要想在windows中使用memcached,必须先下载memcached for win32安装。
下载地址:http://jehiah.cz/projects/memcached-win32/
解压后只要在命令窗口中输入下面命令c:memcachedmemcached.exe -d install 就可以把memcached安装为windows服务了。
启动该服务后,memcached服务默认占用的端口是11211,占用的最大内存默认是64M。
在修改这2个配置选项就碰到了一些问题,网上搜索了很多资料,都说使用下面的命令启动服务就可以:
c:memcachedmemcached.exe -p 12345 -m 1024 -d start , -p 表示要修改的端口, -m表示占用的最大内存(单位为M)。
但是无论怎么调用这个命令,发现端口一直还是11211。
打开windows服务控制面板一看,发现memcached.exe 默认安装的服务器启动参数中根本没写-p -m的参数,只有1个 -d runservice参数。
所以不管用什么命令启动服务都是没用的,见下图:
memcached for windows 修改端口和最大内存
于是就想到直接修改windows服务的启动参数,操作如下,打开注册表,找到:
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesmemcached Server
其中的ImagePath项的值为:"c:memcachedmemcached.exe" -d runservice
改成:"c:memcachedmemcached.exe" -p 12345 -m 128 -d runservice
保存后重新启动memcached服务,然后在命令行中输入netstat -n -a 看看现在端口是不是改啦,^_^。
********************************************传说中的分割线*************************************************************
测试用例
缓存类
package com.util.TestMemCached;
import com.danga.MemCached.*;
public class TestMemcached {
public static final MemCachedClient memCachedClient;
static{
String[] servers = { "192.168.1.100:11211" };
SockIOPool pool = SockIOPool.getInstance();
pool.setServers(servers);
pool.setFailover(true);
pool.setInitConn(10);
pool.setMinConn(5);
pool.setMaxConn(250);
pool.setMaintSleep(30);
pool.setNagle(false);
pool.setSocketTO(3000);
pool.setAliveCheck(true);
pool.initialize();
/*建立MemcachedClient实例*/
memCachedClient = new MemCachedClient();
}
public static void main(String[] args) {
/*初始化SockIOPool,管理memcached的连接池*/
for (int i = 0; i < 10; i++) {
/*将对象加入到memcached缓存*/
boolean success = memCachedClient.set("" + i, "Hello!");
/*从memcached缓存中按key值取对象*/
String result = (String) memCachedClient.get("" + i);
System.out.println(String.format("set( %d ): %s", i, success));
System.out.println(String.format("get( %d ): %s", i, result));
}
TestClass tc1=new TestClass();
try{
CacheService.cs.put("TestClass1", tc1);
tc1.print();
TestClass tc=(TestClass) CacheService.cs.get("TestClass1");
tc.print();
}catch(Exception ex){
ex.printStackTrace();
}
boolean success = TestMemcached.memCachedClient.set("TestClass1", tc1);
System.out.println("success="+success);
TestClass tc=(TestClass) TestMemcached.memCachedClient.get("TestClass1");
tc.print();
}
}
数据类
package com.util.TestMemCached;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
* 需要保存到Cache中的类,开始的时候没有增加implements Serializable序列化的时候执行缓存的
* set方法返回false,增加了以后就可以缓存到Memcached服务器了
* @author Administrator
*
*/
public class TestClass implements Serializable {
private int a=123;
public int getA() {
return a;
}
public void setA(int a) {
this.a = a;
}
public String getB() {
return b;
}
public void setB(String b) {
this.b = b;
}
public List getL() {
return l;
}
public void setL(List l) {
this.l = l;
}
private String b="123";
private List l;
public TestClass(){
l=new ArrayList();
for(int i=0;i<10;i++){
l.add("保存了第"+i+"个List元素!");
}
}
public void print(){
System.out.println("a="+a);
System.out.println("b="+b);
for(int i=0;i<l.size();i++){
System.out.println("("+i+")="+l.get(i));
}
}
}
分享到:
相关推荐
"memcached for java client 例子" 指的是一个使用Java语言编写的客户端库,用于与memcached缓存系统进行交互。Memcached是一种高性能、分布式内存对象缓存系统,常用于减轻数据库负载,提升Web应用的响应速度。 **...
**缓存服务器Memcached简介** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的压力,提高数据访问速度。Memcached基于一个简单的键值对存储模型,允许应用程序将数据...
**缓存服务器Memcached详解** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库负载,提高页面加载速度,从而显著提升网站的整体性能。Memcached的设计理念是简单而高效,...
项目实战:搭建Memcached缓存服务器 在实际项目中,首先需要启动Memcached服务,然后在应用程序中配置连接信息。例如,在Web应用中,可以在用户访问页面时,先尝试从缓存中获取数据,若未命中再从数据库查询并将...
**Memcached缓存服务器详解** Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库的负载,提高数据访问速度。这个“memcached缓存服务器”压缩包提供的版本是1.2.1,适用于...
**memcached 分布式缓存服务器** `memcached` 是一款高效、轻量级的分布式内存对象缓存系统,主要用于缓解数据库的负载压力,通过在内存中存储数据,提高网络应用的数据读取速度。它广泛应用于网站开发、API服务、...
**memcached缓存处理** **一、什么是memcached** `memcached`是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载。它通过将数据存储在内存中来加速读取操作,而不是每次请求都去查询数据库。...
Java连接Memcached服务器是开发过程中常见的一环,尤其是在构建分布式系统时,利用Memcached作为缓存服务可以显著提升数据访问速度。Memcached是一款高性能、分布式内存对象缓存系统,能够临时存储键值对数据,减轻...
**Memcached** 是一款高性能、分布式内存对象缓存系统,常用于减轻数据库的负载,提高Web应用的响应速度。在Java开发中,我们经常会利用Memcached来存储和检索数据,以此提升应用程序的性能。本文将深入讲解如何在...
**memcached缓存服务器安装与使用** `memcached` 是一个高性能、分布式内存对象缓存系统,用于在动态系统中减少数据库负载,提升应用程序性能。它广泛应用于网站、API服务和内部应用程序,通过缓存经常访问的数据来...
- Memcached-Java-Client是Java开发者与Memcached进行交互的主要工具,它提供了简单易用的API接口,允许开发者方便地在Java应用中存取缓存数据。 - 版本2.6.1是该客户端的一个稳定版本,包含了一系列优化和改进,...
以下是一个简单的Java实例,演示如何使用Spymemcached连接到Memcached服务器并执行基本操作: 1. **添加依赖** 首先,你需要在项目中添加Spymemcached的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下...
标题 "spring调用memcached client for java" 涉及的是如何在Java应用程序中,特别是Spring框架下,集成和使用Memcached作为缓存系统。Memcached是一个高性能的分布式内存对象缓存系统,常用于减轻数据库负载,提升...
Java Memcached是一个流行的Java客户端库,用于与Memcached缓存系统进行交互。Memcached是一种分布式内存对象缓存系统,常用于减轻数据库负载,提高Web应用的性能。在本例中,我们关注的是`java_memcached-release_...
memcache-client-forjava是另一个Java Memcached客户端实现,它简化了与Memcached服务器的交互。其特点包括: - **简单易用**:API设计简洁,易于理解和使用,适合快速集成到项目中。 - **线程安全**:客户端内部...
- **分布式缓存**:memcached是一种分布式缓存解决方案,它可以将数据分散存储在多台服务器上,减少单台服务器的压力。 - **键值对存储**:memcached采用键值对(key-value)的方式来存储数据,键用于标识数据,值是...
4. 使用telnet或Memcached客户端工具进行测试连接。 ### 3. Java与Memcached的集成 Java开发者可以通过各种客户端库与Memcached交互,如spymemcached、xmemcached等。这里以spymemcached为例: 1. 添加依赖:在...
总之,Java 缓存系统实战中,Memcached 作为一个高效、易用的缓存解决方案,可以帮助开发人员提高应用性能,降低服务器负载,同时提供了一种灵活的方式来存储和检索数据。通过了解其原理和实践操作,开发者可以更好...
Memcached是一种高性能、分布式内存对象缓存系统,用于在分布式环境中快速存储和检索数据。它通过将数据存储在内存中,显著提高了数据访问速度。在Java应用中与Memcached进行交互,我们需要依赖特定的Java客户端库,...
这两个库都提供了与Memcached服务器通信的API,允许我们在Java应用中添加、删除、更新和检索缓存数据。例如,spymemcached提供了一个简单的Key-Value存储模型,而xmemcached则提供了更丰富的功能,包括支持命令行...