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::getstats — 返回服务器的一些运行统计信息
memcache::getversion — 返回运行的memcache的版本信息
memcache::increment — 对保存的某个key中的值进行加法操作
memcache::pconnect — 创建一个memcache的持久连接对象
memcache::replace — r对一个已有的key进行覆写操作
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);
- $memcache -> close();
- ?>
|