«

memcache和memcached的区别

时间:2023-3-1 20:47     作者:wen     分类: PHP


memcached是为了降低动态web应用 从数据库加载数据而产生的一种常驻进程缓存产品。
memcached是一种内存键值存储,用于存储来自数据库调用、API 调用或页面渲染结果的任意数据(字符串、对象)的小块。
memcached是一个高性能分布式的内存对象缓存系统, 通常被用于降低数据库加载压力以提高动态web应用的响应速度。

Memcache模块提供了于memcached方便的面向过程及面向对象的接口。

其实都是PHP扩展,只是不同版本罢了

php memcache独立用php实现,是老客户端,从我们实践中已发现有多个问题,而且功能少,属性也可设置的少;能存储的数据类型只有字符串和数值类型,其他类型需要序列化后存储

php memcached是基于原生的c的libmemcached的扩展,更加完善,建议替换为php memcached。能存储PHP非资源类型的所有类型。

安装memcache 和 mamcached,我用的是宝塔面板,安装非常容易。

// mamcache
    $memcache = new Memcache;
    $memcache->connect('127.0.0.1', 11211);

    $memcache->set("foo", "bar");
    echo $memcache->get('foo');
    echo "<br/>";

    $memcache_obj = memcache_connect('127.0.0.1', 11211);
    /*
    设置'var_key'对应存储的值
    flag参数使用0,值没有经过压缩
    失效时间为30秒
    */
    memcache_set($memcache_obj, 'var_key', 'some variable', 0, 30);

    echo memcache_get($memcache_obj, 'var_key');
    echo "<br/>";
// mamcached
    $m = new Memcached();
    $m->addServer('localhost', 11211);

    $m->set('foo', 100);
    var_dump($m->get('foo'));
    echo "<br/>";

标签: memcached