HTML5技术

【最全 干货 实例】 缓存手册(Memcached、redis、RabbitMQ) - 索宁

字号+ 作者:H5之家 来源:H5之家 2016-09-01 12:00 我要评论( )

索宁 Nick Suo Blog 博客知识学习交流

本章内容:

  • Memcached 
  • redis
  • RabbitMQ
  •  

    一、Memcached 1、简介、安装、使用

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

     

    Memcached 内存管理机制:

           Menceched 通过预分配指定的内存空间来存取数据,所有的数据都保存在 memcached 内置的内存中。

      利用 Slab Allocation 机制来分配和管理内存。按照预先规定的大小,将分配的内存分割成特定长度的内存块,再把尺寸相同的内存块分成组,这些内存块不会释放,可以重复利用。

      当存入的数据占满内存空间时,Memcached 使用 LRU 算法自动删除不是用的缓存数据,即重用过期数据的内存空间。Memcached 是为缓存系统设计的,因此没有考虑数据的容灾问题,和机器的内存一样,重启机器将会丢失,如果希望服务重启数据依然能保留,那么就需要 sina 网开发的 Memcachedb 持久性内存缓冲系统,当然还有常见的 NOSQL 服务如 redis。

    默认监听端口:11211

     

    Memcached 安装

    wget latest tar -zxvf memcached-1.x.x.tar.gz cd memcached-1.x.x ./configure && make && make test && sudo make install PS:依赖libevent yum install libevent-devel apt-get install libevent-dev

    mkdir /home/oldsuo/tools/ cd /home/oldsuo/tools/ wget http://down1.chinaunix.net/distfiles/libevent-2.0.21-stable.tar.gz ls libevent-2.0.21-stable.tar.gz tar zxf libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure make && make install echo $? cd .. # 2、安装Memcached wget .tar.gz tar zxf memcached-1.4.24.tar.gz cd memcached-1.4.24 ./configure make make install echo $? cd .. # PS : memcached-1.4.24.tar -->客户端 memcached-1.4.24.tar.gz -->服务端 # 3、启动及关闭服务 echo >> /etc/ld.so.conf ldconfig # 查看帮助 /usr/local/bin/memcached –h # 启动Memcached服务 memcached -p 11211 -u root -m 16m -c 10240 –d # 查看启动状态 lsof -i :11211 # 关闭服务 pkill memcached # memcached -p 11212 -u root -m 16m -c 10240 -d -P /var/run/11212.pid #

    源码安装启动 Memcached 快速部署文档

    # Memcached PHP 客户端安装 cd /home/oldsuo/tools/ wget http://pecl.php.net/get/memcache-3.0.7.tgz tar zxf memcache-3.0.7.tgz cd memcache-3.0.7 /application/php/bin/phpize ./configure --enable-memcahce --with-php-config=/application/php/bin/php-config --with-zlib-dir make make install # 安装完成后会有类似这样的提示: Installing shared extensions: /application/php5.3.27/lib/php/extensions/no-debug-zts-20131226/ [root@localhost memcache-3.0.7]# ll /application/php5.3.27/lib/php/extensions/no-debug-zts-20131226/ total 1132 -rwxr-xr-x 1 root root 452913 Nov 17 16:52 memcache.so -rwxr-xr-x. 1 root root 157862 Oct 9 21:01 mysql.so -rwxr-xr-x. 1 root root 542460 Oct 9 19:25 opcache.so # 编辑php.ini文件,添加extension = memcache.so 一行 vim /application/php/lib/php.ini Extension_dir = extension = memcache.so # 重启 apache 服务是PHP的配置生效 [root@localhost application]# /usr/local/apache/bin/apachectl -t Syntax OK [root@localhost application]# /usr/local/apache/bin/apachectl graceful

    源码安装 Memcached PHP 客户端

    Memcached 启动

    memcached -d -m 10 -u root -l 218.97.240.118 -p 12000 -c 256 -P /tmp/memcached.pid 参数说明: -d 是启动一个守护进程 -m 是分配给Memcache使用的内存数量,单位是MB -u 是运行Memcache的用户 -l 是监听的服务器IP地址 -p 是设置Memcache监听的端口,最好是1024以上的端口 -c 选项是最大运行的并发连接数,默认是1024,按照你服务器的负载量来设定 -P 是设置保存Memcache的pid文件

    Memcached 命令

    存储命令: set/add/replace/append/prepend/cas 获取命令: get/gets 其他命令: delete/stats..

     Memcached 管理

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 快来一起打飞机、大牛带你用最2代码、写出外挂版微信打飞机 - 索宁

      快来一起打飞机、大牛带你用最2代码、写出外挂版微信打飞机 - 索宁

      2016-08-04 12:00

    网友点评
    >