memcached

Memcache使用教程
Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的key-value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。
Memcached简洁而强大。它的简洁设计便于快速开发,减轻开发难度,解决了大数据量缓存的很多问题。它的API兼容大部分流行的开发语言。 本质上,它是一个简洁的key-value存储系统。

检查PHP版本及环境:
Architecture: x86或x84
Compiler : MSVC11 (Visual C++ 2012)
Thread Safety : enabled (ts版) disabled (nts版)
php_memcache.dll下载地址: http://windows.php.net/downloads/pecl/releases/memcache/3.0.8/
将php_memcache.dll解压缩到\php\ext目录下。
在php.ini增加extension=php_memcache.dll

[Memcache]
memcache.allow_failover = 1 ;遇到错误时透明地向其他服务器进行故障转移
memcache.maxfailoverattempts=20 ;接受和发送数据时最多尝试多少个服务器
memcache.chunk_size =8192 ;数据将按照此值设定的块大小进行转移
memcache.default_port = 11211 ;默认TCP端口

下载memcached安装文件
cmd进入相应目录下安装:
memcached.exe -d install
memcached.exe -d start
安装成功后会自动将memcached服务加入系统服务中。
phpinfo()页面查看: memcache,即表示安装成功。
$memcache = new Memcache();

$memcache->connect(‘localhost’, 11211) or die(‘connect fail’);

//写入数据bool Memcache::set ( string key,mixed var [, int flag[,int expire ]] )
// key 要设置值的key。
// var 要存储的值,字符串和数值直接存储,其他类型序列化后存储。
// flag 使用MEMCACHE_COMPRESSED指定对值进行压缩(使用zlib)
// expire 当前写入缓存的数据的失效时间。如果此值设置为0表明此数据永不过期。你可以设置一个UNIX时间戳或 以秒为单位的整数(从当前算起的时间差)来说明此数据的过期时间,但是在后一种设置方式中,不能超过 2592000秒(30天)

$memcache->set(‘keys’, ‘value123’);

//获取数据
var_dump( memcache>get(keys));//key// var = $memcache_obj->get(Array(‘some_key’, ‘second_key’));

//替换数据
//bool Memcache::replace ( string key,mixed var [, int flag[,int expire ]] )

memcache>replace(keys,Thisisreplacevalue,0,60);vardump( memcache->get(‘keys’));

//删除数据
memcache>delete(keys);vardump( memcache->get(‘keys’));

//清除所有数据
$memcache->flush();

//关闭连接
$memcache->close();

PHP中memcache扩展和memcached扩展的区别
Memcache是一个自由和开放源代码、高性能、分配的内存对象缓存系统。用于加速动态web应用程序,减轻数据库负载。它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcache这个软件项目一般叫Memcache,但项目的主程序文件叫memcached.exe,是靠服务端的这个守护进程管理这些HashTable。
对于这个内存缓存系统,PHP有两个扩展,分别是memcache和memcached扩展。
memcache是完全在PHP框架内开发的,memecached是使用libmemcached的。memcache是原生实现的,但是使用libmemcached的memached只支持OO接口,而memcache则是OO和非OO两套接口并存,同时libmemcached是memcache的C客户端,它具有的优点是低内存,线程安全等特点,在高并发下,稳定性果断提高。
memcache的方法列表在:http://cn2.php.net/memcache
memcached的方法列表在:http://www.php.net/manual/zh/book.memcached.php

CentOS下安装部署Memcached

yum install memcached

chkconfig –level 2345 memcached on

修改memcached的参数,主要涉及memcached启动绑定的端口、用户、最大连接、最大内存等

vim /etc/sysconfig/memcached

PORT,服务启动端口。USER,服务启动用户。MAXCONN,服务配置支持最大连接数。CACHESIZE,服务支持的最大内存,以M为单位。

检测memcached服务

memcached-tool 127.0.0.1:11211 stats

Memcached客户端安装

wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz

tar zxvf libmemcached-1.0.18.tar.gz

cd libmemcached-1.0.18

./configure –prefix=/usr/local/libmemcached

make && make install

安装php-fpm的memcached扩展

wget http://pecl.php.net/get/memcached-2.2.0.tgz

tar zxvf memcached-2.2.0.tgz

cd memcached-2.2.0

利用 phpize 来生成 configure 配置文件

/usr/local/php/bin/phpize \

–with-php-config=/usr/local/php/bin/php-config

./configure –with-php-config=/usr/local/php/bin/php-config \

–with-libmemcached-dir=/usr/local/libmemcached –disable-memcached-sasl

make && make install

phpinfo()检查是否开启memcached扩展

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值