• (七)7-3memcached安装和集群操作


    Memcached是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。Memcached基于一个存储键/值的hashmap。其守护进程(daemon)是用C语言写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。

    1、官网http://memcached.org/下载最新版本memcached(memcached-1.5.3.tar.gz)
    安装之前需要libevent 官网http://libevent.org/下载libevent-2.0.20-stable.tar.gz

    cd /usr/local/src
    wget https://cloud.github.com/downloads/libevent/libevent/libevent-2.0.20-stable.tar.gz
    tar zxvf  libevent-2.0.20-stable.tar.gz
    cd /usr/local/src/libevent-2.0.20-stable
    ./configure  --prefix=/usr/local/libevent  && make  && make install
    安装memcached
    cd /usr/local/src
    tar zxvf memcached-1.5.3.tar.gz
    cd memcached-1.5.3
    ./configure  --prefix=/usr/local/memcached  --with-libevent=/usr/local/libevent  && make &&  make install

    启动memcache
    mkdir -p /usr/local/memcached/logs
    /usr/local/memcached/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /usr/local/memcached/logs/memcache.pid

    -p 指定端口号(默认11211)  
    -m 指定最大使用内存大小(默认64MB)  
    -t 线程数(默认4)  
    -l 连接的IP地址, 默认是本机  
    -d 以后台守护进程的方式启动
    -c 最大同时连接数,默认是1024
    -P 制定memecache的pid文件
    -h 打印帮助信息
    检查memcache是否启动

    安装 memcache客户端 pip install pymemcache 或者 pip install python-memcached
    使用示例1使用pymemcache:

    import  pymemcache
    from pymemcache.client.base import Client
    mc = Client(('192.168.88.102',11211))
    mc.set("name","cnblogs")
    print mc.get("name")
    运行结果:
    cnblogs
    

     示例2 使用memcache

    import  memcache
    mc = memcache.Client(['192.168.88.102:11211'])
    mc.set("name1","cnblogs1")
    print mc.get("name1")
    运行结果:
    cnblogs1
    

      集群管理

    单机启动多实例:
    /usr/local/memcached/bin/memcached -d -m 10 -u root -l 0.0.0.0 -p 11211 -c 256 -P /usr/local/memcached/logs/memcache1.pid
    /usr/local/memcached/bin/memcached -d -m 10 -u root -l 0.0.0.0 -p 11212 -c 256 -P /usr/local/memcached/logs/memcache2.pid
    示例:

    import  memcache
    mc = memcache.Client([('192.168.88.102:11211',1),('192.168.88.102:11212',2)],debug=True)
    mc.set("k1","v1")
    print mc.get("k1")
    
    
    mc1 = memcache.Client([('192.168.88.102:11211')],debug=True)
    print mc1.get("k1")
    mc2 = memcache.Client([('192.168.88.102:11212')],debug=True)
    print mc2.get("k1")
    

      运行结果:

    v1
    v1
    None
    

      

  • 相关阅读:
    03 重定向,请求转发,cookie,session
    02 http,servlet,servletconfig,HttpServletRequest ,HttpServletResponse
    02 JDBC相关
    01 mysql
    16 反射,枚举,新特性
    13 递归练习
    12 IO流
    11 异常
    兼容当前五大浏览器的渐变颜色背景gradient的写法
    Electron Browser加载iframe(webview src属性)
  • 原文地址:https://www.cnblogs.com/pythonlx/p/7995237.html
Copyright © 2020-2023  润新知