Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提供动态、数据库驱动网站的速度,Memcached基于一个存储键/值对的hashmap,其守护进程,daemon,是用C写的,但是客户端可以用任何语言来编写并通过memcached协议与守护进程通信,但是它并不提供冗余,例如,复制其hashmap条目,当某个服务器s停止运行或崩溃了,所有存放在s上的键/值对都将丢失.
memcached由danga interactive开发,用于提升livejournal.com访问速度的,lj每秒动态页面访问量几千次,用户700万,memcached将数据库负载大幅度降低,更好的分配资源,更快速访问.
memcache常用方法
memcache::add — 添加一个值,如果已经存在,则返回false
memcache::addserver — 添加一个可供使用的服务器地址
memcache::close — 关闭一个memcache对象
memcache::connect — 创建一个memcache对象
memcache::debug — 控制调试功能
memcache::decrement — 对保存的某个key中的值进行减法操作
memcache::delete — 删除一个key值
memcache::flush — 清除所有缓存的数据
memcache::get — 获取一个key值
memcache::getextendedstats — 获取进程池中所有进程的运行系统统计
memcache::getserverstatus — 获取运行服务器的参数
memcache::set — 添加一个值,如果已经存在,则覆写
memcache::setcompressthreshold — 对大于某一大小的数据进行压缩
memcache::setserverparams — 在运行时修改服务器的参数
memcache方法使用,代码如下:
<?php
$memcache = new memcache;
$memcache->connect('127.0.0.1', 11211) or die("连接失败");
$memcache->set('name', '张三');
$val = $memcache->get('name');
?>
注:set方法的完整版本,set(键名,键值,是否压缩,保持时间),代码如下:
<?php
$memcache = new memcache;
$memcache -> connect('127.0.0.1', 11211) or die("连接失败");
$memcache -> set('name', array('一个','两个'));
$val = $memcache->get('name');
print_r($val); //开源代码Cuoxin.com
$memcache -> close();
?>