jjzjj

memcache

全部标签

php - Memcache php cli vs apache 使用不同的缓存?

试图从头到尾找到这个答案,但碰壁了。代码:(保存为recent.php)$MEMCACHE_SERVERS=array("1.2.3.4",//dbprodmaster"5.6.7.8",//dbprodslave1"9.10.11.12"//db1dev);$memcache=newMemcache();foreach($MEMCACHE_SERVERSas$server){$memcache->addServer($server,11211);}$key="rec_obj_".$cat_id;$memcache->delete($key);$memcache->set($key,$

php - memcached 中的重复键

我的php站点上的内存缓存有一些问题。有时我会收到一份报告,指出该站点行为异常,当我查看内存缓存时,我发现集群中的两台服务器上都存在一些key。两个条目之间的数据不相同(一个较旧)。我对memcached的理解是,这不应该发生……客户端应该散列key,然后始终选择同一台服务器。所以要么我的理解是错误的,要么我的代码是错误的。谁能解释为什么会发生这种情况?FWIW服务器托管在AmazonEC2上。我所有到内存缓存的连接都是通过这个函数打开的:$mem_servers=array(array('ec2-000-000-000-20.compute-1.amazonaws.com',1121

php - 缓存和竞争条件

我正在使用memcache(不是memcached),我可能同时有10000个请求命中缓存。这可能会导致竞争条件,所以我使用了这段代码http://terrychay.com/article/keeping-memcache-consistent.shtml获得锁而不是设置key。现在从日志记录中我看到,当一个请求A正在等待缓存时,另一个请求B可能会完成获取数据并放入缓存,因此请求A没有必要等待和覆盖数据。所以我认为一个解决方案是:当请求等待锁定时,它将检查数据是否在关键位置。如果它在那里而不是从键返回数据而不是更新它。其他人能想到什么建议吗?在等待锁定时检查key是否会炸毁内存缓存服

memcached - phpinfo() 中列出的 php-fpm 扩展失败,返回 "Class not found"

CentOS上的nginx+php-fpm,全部编译自源代码。添加memcached支持,我编译了libmemcached和php“memcached”扩展,在php-fpm配置中添加了一行“php_admin_value[extension]=memcached.so”并重新启动了php-fpm。通过Web服务器用phpinfo()打开测试php开始显示有关“memcached”扩展的部分(screenshot)。然而,尝试实例化该类失败并出现fatalerror:找不到类“Memcached”。我还尝试以相同的方式安装php“memcache”(没有“d”)扩展:下载源代码、php

php - CakePHP 2.0 应用程序 : Intermittently unable to write to Memcache cache error messages

我有一个健康、低流量的暂存服务器和一个CakePHP应用程序。我在本地主机上运行Memcached,所有Cake缓存都使用Memcache作为缓存引擎。每隔一两个小时(比如每1-2周一次),我会看到如下错误:Warning(512):_cake_model_cachewasunabletowrite'default_read_users'toMemcachecache[CORE/Cake/Cache/Cache.php,line309]Warning(512):_cake_core_cachewasunabletowrite'file_map'toMemcachecache[CORE/

php - Memcached 获取速度慢,CPU 使用率高

我有一个在机器上运行的memcached实例来减轻数据库的压力。目前通过PHP每秒大约有350个请求,根据memcached文档,这应该是完全可行的,但我看到get()时间慢得离谱。平均大约60毫秒,两种方式都有尖峰(0.1毫秒和250毫秒)。memcached进程也一直使用大约80%的CPU。这真的有问题,因为所有的gets组合起来需要超过5秒的时间才能完成页面。我很确定这是get命令,因为我在代码中注释掉了,数据库接管了,使memcached进程使用0CPU。统计数据如下:statsSTATpid617STATuptime855901STATtime1370358572STATve

php - 是否有针对 CodeIgniter 的 memcached 无 igbinary 支持工作

是否有解决此问题的方法我不想在codeigniter中为memcached使用igbinary。而且我不想再显示该消息,因为它不能使用igbinary。不过,我需要指出的是,此警告仅在第一次加载页面时出现,而当我重新加载页面时,它并没有出现。这不奇怪吗?所以我不太确定问题出在未安装的igbinary上。我正在使用codeigniter3.xAPHPErrorwasencounteredSeverity:WarningMessage:Memcached::get():couldnotunserializevalue,noigbinarysupportFilename:drivers/Ca

php - Memcached 在网络浏览器中不工作,但使用 php 命令工作

我在下面有testMemcached.php代码。getMem();$stats=$m->getStats();var_dump($stats);$m->add("Key","test");echo"Value:".$m->get("Key");}}$api=newTestMemcached();$api->go();我在网络浏览器中运行testMemcached.php。我得到bool(false)Value:。我运行php-ftestMemcached.php命令然后得到下面的输出。array(1){["localhost:11211"]=>array(24){["pid"]=>i

php - 无法通过 memcached 程序在服务器上保存数据

嗨,我想知道为什么我不能存储多维(数组大小超过1000)$memcache=newMemcache;$memcache->connect('localhost',11211)ordie("Couldnotconnect");上面的s工作正常...下面的有错误...$memcache->set('key',$sear,false,60)ordie("Failedtosavedataattheserver");ifthe$searisstringorobjectarraythennoproblemforstoredataattheserver..butistoremultidimensio

php - Windows 上的 Memcache PHP 扩展

我找到了很多教程,介绍如何在Windows中安装内存缓存和安装PHP扩展。我的情况虽然有点不寻常:我使用的是iis,而不是apache。我不需要在服务器上安装内存缓存(它已经设置了自己的专用服务器)。我只需要安装扩展。我以为我只需要将PHP_memcache.dll扩展添加到PHP扩展文件夹并将其添加到PHP.ini这会导致加载PHP模块时出错(无法加载动态库)。这个错误可能是服务器没有安装memcache导致的,如何解决? 最佳答案 在Windows中加载扩展时出现的错误并不像在Linux中那样有用,因此您需要一个像depende