php操作memcache

ubuntu下安装memcache:
安装Memcache服务端:sudo apt-get install memcached
启动memcache服务端:memcached -d -m 128 -p 11111 -u root
安装Memcache客户端(php扩展):sudo apt-get install php5-memcache



安装完以后我们需要在php.ini里进行简单的配置,打开/etc/php5/apache2/php.ini文件在末尾添加如下内容:

[Memcache]

; 一个高性能的分布式的内存对象缓存系统,通过在内存里维护一个统一的巨大的hash表,
; 它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

; 是否在遇到错误时透明地向其他服务器进行故障转移。
memcache.allow_failover = On

; 接受和发送数据时最多尝试多少个服务器,只在打开memcache.allow_failover时有效。memcache.max_failover_attempts = 20

; 数据将按照此值设定的块大小进行转移。此值越小所需的额外网络传输越多。
; 如果发现无法解释的速度降低,可以尝试将此值增加到32768。
memcache.chunk_size = 8192

; 连接到memcached服务器时使用的默认TCP端口。
memcache.default_port = 11111

; 控制将key映射到server的策略。默认值”standard”表示使用先前版本的老hash策略。
; 设为”consistent”可以允许在连接池中添加/删除服务器时不必重新计算key与server之间的映射关系。
;memcache.hash_strategy = “standard”; 控制将key映射到server的散列函数。默认值”crc32″使用CRC32算法,而”fnv”则表示使用FNV-1a算法。
; FNV-1a比CRC32速度稍低,但是散列效果更好。
;memcache.hash_function = “crc32″


保存php.ini,执行sudo /etc/init.d/apache2 restart重启Apache。

----------------------------------------------------------------------------------

在PHP中使用Memcache

<?php
$mem = new Memcache; //创建Memcache对象
$mem->connect("127.0.0.1", 11111); //连接Memcache服务器



$val = "这是一个Memcache的测试1.";
$key = md5($val);
$mem->set($key,$val,0,10); //增加插入一条缓存,缓存时间为120s

if(($k = $mem->get($key))){ //判断是否获取到指定的key
    echo 'from cache:'.$k;
} else {
    echo 'normal'; //这里我们在实际使用中就需要替换成查询数据库并创建缓存.
}


//使用memcache类
<?php
include_once('memcache.class.php');

$mem=new cache_memcached();

$mem->set('a','dddd',86000);            //设置memcache
$mem->get('cccc');                      //从memcache里获得数据
$mem->get('d','zrp',86000);             //删除memcahe中指定健的数据


echo $data;

?>

posted @ 2013-03-20 16:57  忆殇之痕  阅读(150)  评论(1编辑  收藏  举报