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