453423 发表于 2016-6-23 08:53:14

memcached的基本安装与使用

简介:Memcached是一款开源、高性能、分布式内存对象缓存系统,可应用各种需要缓存的场景,其主要目的是通过降低对Database的访问来加速web应用程序。它是一个基于内存的“键值对”存储,用于存储数据库调用、API调用或页面引用结果的直接数据,如字符串、对象等。
特性:Memcached是一款开发工具,它既不是一个代码加速器,也不是数据库中间件。其设计哲学思想主要反映在如下方面:1. 简单key/value存储:服务器不关心数据本身的意义及结构,只要是可序列化数据即可。存储项由“键、过期时间、可选的标志及数据”四个部分组成;2. 功能的实现一半依赖于客户端,一半基于服务器端:客户负责发送存储项至服务器端、从服务端获取数据以及无法连接至服务器时采用相应的动作;服务端负责接收、存储数据,并负责数据项的超时过期;3. 各服务器间彼此无视:不在服务器间进行数据同步;4. O(1)的执行效率,查找效率非常之高;5. 清理超期数据:默认情况下,Memcached是一个LRU缓存,同时,它按事先预订的时长清理超期数据;但事实上,memcached不会删除任何已缓存数据,只是在其过期之后不再为客户所见;而且,memcached也不会真正按期限清理缓存,而仅是当get命令到达时检查其时长;
常见操作命令:Memcached提供了为数不多的几个命令来完成与服务器端的交互,这些命令基于memcached的协议实现。存储类命令:set, add, replace, append, prepend获取数据类命令:get, delete, incr/decr统计类命令:stats, stats items, stats slabs, stats sizes清理命令: flush_all
安装memcached(rpm包安装):前提:已经搭建好lamp或者lnmp# yum install -y php php-devel httpd mysql mysql-server
1、yum安装memcached# yum groupinstall "Development Tools" "Server Platform Deveopment" -y       安装开发包组# yum install -y memcached
2、启动memcached服务# service memcached start
3、telnet简单测试# telnet 127.0.0.1 11211Trying 127.0.0.1...Connected to 127.0.0.1.Escape character is '^]'.add testkey 0 20 1               缓存一个键testkey,序列0 缓存时间20S 1字节x                                             值为xSTOREDget testkey                     请求testkeyVALUE testkey 0 1x                                                       值为xENDget testkey             20秒后再次请求,就没有值了END
4、为php安装memcache插件
1.安装memcache插件#tar xf memcache-2.2.7.tgz #cd memcache-2.2.7#phpize#./configure --with-php-config=/usr/bin/php-config#make && make install(安装完成会出现下方提示)Installing shared extensions: /usr/lib64/php/modules/
2.配置php支持memcache# vim /etc/php.iniextension = "/usr/lib64/php/modules/memcache.so"   添加此行# service httpd restart
4、创建PHP页面测试# vim /var/www/html/index.php
<?php    $mem = new Memcache;    $mem->connect("127.0.0.1", 11211)or die("Could not connect");
    $version = $mem->getVersion();    echo "Server's version: ".$version."<br/>\n";
    $mem->set('hellokey', 'Hello World', 0, 600) or die("Failed to save data at the memcached server");    echo "Store data in the cache (data will expire in 600 seconds)<br/>\n";
    $get_result = $mem->get('hellokey');    echo "$get_result is from memcached server.";         ?>5、访问测试

页: [1]
查看完整版本: memcached的基本安装与使用