日期:2014-05-17  浏览次数:20573 次

php内存缓存技术

在很多场合,都会听到 memcached 这个名字,但是只是听过,并没有用过或实际了解过,只知道它是一个很不错的东东。这里简单介绍一下,memcached 是高效、快速的分布式内存对象缓存系统,主要用于加速 WEB 动态应用程序。 最近新学习了下memcached

首先是下载 memcached,windows和linux版的都有,运行 memcached 守护程序很简单,只需一个命令行即可,不需要修改任何配置文件:

/usr/bin/memcached -d -m 128 -l 192.168.1.1 -p 11211 -u httpd

参数解释:

-d 以守护程序(daemon)方式运行 memcached;

-m 设置PHP内存缓存技术memcached 可以使用的内存大小,单位为 M;

-l 设置监听的 IP 地址,如果是本机的话,通常可以不设置此参数;

-p 设置监听的端口,默认为 11211,所以也可以不设置此参数;

-u 指定用户。

<?php

/**
 *
 * @author changxiaoqiang
 *
 */
$memcache = new Memcache;
$memcache->connect('localhost', 11211) or die("Could not connect");
// 连接memcache

$version = $memcache->getVersion();//获取memcache版本
echo "Server's version: " . $version . "<br/>";

$tmp_object = 123;
if ($memcache->get('key')) {
    $memcache->increment('key', 2);
    $va = $memcache->get('key');
    echo $va;//变量自增,变量保存在内存中,修改后刷新保持修改
    var_dump($memcache->getStats());
    exit();
}

$memcache->add('key', $tmp_object, false, 10) or die("Failed to save data at the server");
echo "Store data in the cache (data will expire in 10 seconds)<br/>";

$get_result = $memcache->get('key');
echo "Data from the cache:<br/>";

var_dump($get_result);
var_dump($memcache->getStats());
?>

?

?