win7下memcached 的搭建

  memcached 搭建 

 

windows2007服务器中安装memcached首先要看服务器所用系统是32位的还是64位的,64位系统可能会需要一个MSVCR71.DLL动态链接文件,该文件在memcached-1.2.5-win32-bin解压包中就有,更高版本的包已解决了这个问题,在windows2007中由于安全性的提高,在命令行中执行memcached.exe -d install将会提示你服务安装失败或服务已安装。这样你以管理员的身份打开命令行,可以解决。

 

Memcached服务器的配置过程

 

1.下载memcached-1.4.5-win32.zip

下载地址:http://download.csdn.net/

 

2.用管理员身份打开cmd

>cd memcached

>memcached-1.4.5.exe -d install  安装memcached缓冲服务

>memcached-1.4.5.exe -d start 开启memcached服务,默认端口为11211,内存分配为64MB,块大小增长因子1.25.最大同时连接数为1024,最小分配空间为48

>memcached-1.4.5.exe -d runservice -l 127.0.0.1 -m 2000 -c 1024 -p 11255

 

3.在命令行下可能不会生效所以得修改注册表

开始-->运行-->regedit

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\memcached Server 中的

ImagePath项,原值为"d:\memcached\memcached-1.4.5.exe" -d runservice ,在其后加上 -p 11255 -U 11255 -m 2000 -c 1024 -f 1.25 -n 48 退出

 

4. 右击我的电脑-->属性-->管理-->服务-->memcached Service 将服务重启。

 

5. 测试服务器

开启telnet功能,进入命令行模式,输入telnet 192.168.1.200 11255

Stats 查看memcached的状态。

 

 

Memcache java客户端的配置过程

 

如果出现无法连接,先测试其连通性,再测试telnet IP (memcached)端口中,出现该状况可能是端口被占用,更换一个端口号。

 

 

1. 下载java_memcached-release_2.5.1.jar

  下载地址:http://download.csdn.net/

 

2. java_memcached-release_2.5.1.jar包复制到JAVA项目的lib目录下,然后我们编写代码进行测试。

 

 

import java.util.Date;

 

import com.danga.MemCached.MemCachedClient;

import com.danga.MemCached.SockIOPool;

 

public class MemCachedManager {

 

    // 创建全局的唯一实例

    protected static MemCachedClient mcc = new MemCachedClient();

 

    protected static MemCachedManager memCachedManager = new MemCachedManager();

 

    // 设置与缓存服务器的连接池

    static {

        // 服务器列表和其权重

        String[] servers = { "192.168.1.200:11255" };

        Integer[] weights = { 3 };

 

        // 获取socke连接池的实例对象

        SockIOPool pool = SockIOPool.getInstance();

 

        // 设置服务器信息

        pool.setServers(servers);

        pool.setWeights(weights);

 

        // 设置初始连接数、最小和最大连接数以及最大处理时间

        pool.setInitConn(5);

        pool.setMinConn(5);

        pool.setMaxConn(250);

        pool.setMaxIdle(1000 * 60 * 60 * 6);

 

        // 设置主线程的睡眠时间

        pool.setMaintSleep(30);

 

        // 设置TCP的参数,连接超时等

        pool.setNagle(false);

        pool.setSocketTO(3000);

        pool.setSocketConnectTO(0);

 

        // 初始化连接池

        pool.initialize();

 

        // 压缩设置,超过指定大小(单位为K)的数据都会被压缩

        mcc.setCompressEnable(true);

        mcc.setCompressThreshold(64 * 1024);

    }

 

    /**

     * 保护型构造方法,不允许实例化!

     *

     */

    protected MemCachedManager() {

 

    }

 

    /**

     * 获取唯一实例.

     *

     * @return

     */

    public static MemCachedManager getInstance() {

        return memCachedManager;

    }

 

    /**

     * 添加一个指定的值到缓存中.

     *

     * @param key

     * @param value

     * @return

     */

    public boolean add(String key, Object value) {

        return mcc.add(key, value);

    }

 

    public boolean add(String key, Object value, Date expiry) {

        return mcc.add(key, value, expiry);

    }

 

    public boolean replace(String key, Object value) {

        return mcc.replace(key, value);

    }

 

    public boolean replace(String key, Object value, Date expiry) {

        return mcc.replace(key, value, expiry);

    }

 

    /**

     * 根据指定的关键字获取对象.

     *

     * @param key

     * @return

     */

    public Object get(String key) {

        return mcc.get(key);

    }

 

    public static void main(String[] args) {

        MemCachedManager cache = MemCachedManager.getInstance();

        cache.add("hello", 234);

        System.out.print("get value : " + cache.get("hello"));

    }

}

 

3.测试运行状态。

 

 

 

 

你可能感兴趣的:(win7,memcached搭建)