Memcached安装与使用

8 篇文章 0 订阅

Memcached安装与使用

 

WINDOW

1. memcached-win32-1.4.4-14在D:\memcached

2. 在终端(也即cmd命令界面)下输入 ‘D:\memcached\memcached.exe-d install' 安装

3. 再输入: ‘D:\memcached\memcached.exe-d start' 启动。(需要注意的: 以后memcached将作为windows的一个服务每次开机时自动启动。这样服务器端已经安装完毕了)

LINUX

1. 首先下载memcached 和 libevent 包。 Memcached用到了libevent这个库用于Socket的处理。下面是下载的两个包文件:

 

libevent-1.4.12-stable.tar.gz

memcached-1.4.3.tar.gz

2. 上传这两个包到/tmp/chenxinhan/memcached目录(自建目录)下。

 

3. 解压并安装:

 

tar -zxf libevent-1.4.12-stable.tar.gz

tar -zxf memcached-1.4.3.tar.gz

cd libevent-1.4.12-stable

./configure --prefix=/usr

make

make install

 

cd ../ memcached-1.4.3

./configure --with-libevent=/usr

make

makeinstall

4. 执行 ldconfig

4. 启动Memcached

 

完成上述操作后,memcached被安装/usr/local/bin/目录下。启动Memcache的服务器的命令:

 

/usr/local/bin/memcached -d -m 1024 -u root-l 192.168.0.1 -p 12001 -c 256 -P /tmp/chenxinhan/memcached.pid

参数说明:

-d 选项是启动一个守护进程,

-m 是分配给Memcache使用的内存数量,单位是MB,这里是1GB,

-u 是运行Memcache的用户,这里是root,

-l 是监听的服务器IP地址,如果有多个地址的话,以逗号隔开。这里指定了服务器的IP地址192.168.0.1,

-p 是设置Memcache监听的端口,我这里设置了12001,最好是1024以上的端口,

-c 选项是最大运行的并发连接数,默认是1024,我这里设置了256,按照你服务器的负载量来设定,

-P 是设置保存Memcache的pid文件,我这里是保存在/tmp/chenxinhan/memcached.pid,

5. 结束Memcache进程,执行:

 

kill `cat /tmp/chenxinhan/memcached.pid`

或者:

ps -aux | grep memcache

然后直接kill掉memcache进程。

6. 可以启动多个守护进程,但是端口不能一样。这样就可以在一台机器上拥有多个Memcached


以同样的方式在192.168.0.1上安装memcached

 

7. 代码测试:

 public class TestMemcached {
// 创建全局的唯一实例   
protected static MemCachedClient mcc = new MemCachedClient(); 
    
    protected static TestMemcached memCached = new TestMemcached(); 
      
    // 设置与缓存服务器的连接池    
    static { 
        // 服务器列表和其权重        
    String[] servers = { "192.168.0.1:12001","192.168.0.2:12001" }; 
        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 TestMemcached() 
    { 
          
    } 
      
    /** 
     * 获取唯一实例. 
     * @return 
     */
    public static TestMemcached getInstance() 
    { 
        return memCached; 
    } 
      
    /** 
     * 添加一个指定的值到缓存中. 
     * @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) 
    { 
    TestMemcached cache = TestMemcached.getInstance(); 
   
    cache.add("data" , "hello world"); 
    String st=cache.get("data");
    System.out.println(st);     
    } 
}        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值