草庐IT

MemCached

全部标签

php - memcached session 的方法

我正在考虑使用memcached来存储session而不是mySQL,一开始这似乎是个好主意。当谈到使用memcached服务器的故障转移部分时,我有点担心如果memcached脱机我的session将停止工作。它肯定会影响我的用户。我们已经使用了一些技术来减少故障转移,包括有一个服务器池可用于在停机时进行补偿,在服务器池中使用分片/一致性哈希等。我们还会做一些优雅的降级,告诉用户出了点问题,欢迎他们再次登录,以防他们因memcached服务器故障转移而被踢出。那么在memcached服务器上存储session时,人们通常如何处理这些问题? 最佳答案

php - 您应该什么时候开始使用 Memcached?

我开始学习如何将Memcached与PHP结合使用,我想知道;有什么时候你应该开始使用它吗?缓存数据总是更有效,还是只有在您的网站获得一定数量的点击后才有效?可能存在与Memcached相关的开销,那么速度优势何时会超过此开销?提前感谢您的任何建议。 最佳答案 当不使用memcached开始影响您的站点/服务器时,您应该开始使用它。因此,当您每天只有100位访问者并且您的网站仍然快速响应时,请不要费心使用它。但是当你的每页运行时间接近200毫秒或更多,而且网站感觉也很慢时,你应该使用一些PHP分析器来寻找瓶颈(XDebug集成了一个

php - 我可以在同一台服务器上使用 APC 和 memcached 吗?

我正在使用memcache来缓存对象,但我想另外添加一个像APC这样的操作码加速器。由于它们都涉及缓存,我不确定它们是否会“踩到对方的脚趾”,即我不确定memcache是否已经是OP代码加速器。有人能解释一下吗?我想同时使用它们-用于不同的事情。用于缓存我的对象的内存缓存和用于代码加速的APC 最佳答案 与APC或XCache之类的东西相比,Memcache更像是分布式对象缓存,后者将PHP字节码存储在内存中,因此您不必每次都解析它。它们的主要目的不同。例如,如果您有一个人们经常请求的CPU密集型数据库查询,您可以将结果对象缓存在内

PHP session 未保存在内存缓存中

使用AmazonLinux在AWS上使用php5.4运行应用程序。PHP版本为PHP5.4.28。从AWS存储库安装的内存缓存库是php54-pecl-memcache-3.0.8-1.11.amzn1.x86_64我已验证php正在使用/etc/php.ini:[root@ip-xx.xx.xx.xx]#php-i|grepConfigConfigurationFile(php.ini)Path=>/etcLoadedConfigurationFile=>/etc/php.ini设置显示我应该使用内存缓存:[root@ip-10-40-17-119etc]#grep"^session

php - PDO异常 : You cannot serialize or unserialize PDO instances

我尝试使用内存缓存在PHP中缓存我的用户对象,但在使用PDO时出现错误。我添加了一个__sleep和一个__wakeup函数。用户.php/***@varPDO*/protected$db;publicfunction__construct(){$this->db=getInstanceOf('db');}publicfunction__destruct(){}publicfunction__sleep(){returnarray('db');}publicfunction__wakeup(){$this->db=getInstanceOf('db');}getInstanceOf('

php - 为什么 file_get_contents 比 memcache_get 快?

我正在使用file_get_contents从磁盘加载XML文件,作为测试,我发现我可以在3.99秒内使用file_get_contents()加载一个156K的文件1,000次。我已经将执行加载的部分子类化并用内存缓存层替换它,并且在我的开发机器上发现我可以在4.54秒内完成1000次相同文档的加载。我很欣赏file_get_contents()会做一些缓存,但看起来它实际上比众所周知的缓存技术更快。在单个服务器上,file_get_contents()的性能是否已达到最佳水平?我通过Macports、OSX10.6.8使用PHP5.2.17。编辑:我发现在这种大小的XML文档中,使

java - 无法使用 php memcached 获取使用 spymemcached 设置的项目

我正在使用spymemcached。我设置了几个项目。然后我运行一个php脚本,但是我无法使用phpmemcached获取所有这些项目。PHP-Memcached只能部分检索这些项目。我无法更改php的散列算法或分发策略。在我们的系统中,我们使用默认散列(根据php.net文档,这是jenkin的一次一个)。分配策略是php-memcached的模数。我读过spymemcached使用一致的散列。有什么方法可以在spymemcached中使用模哈希。换句话说,我怎样才能使spymemcached的设置操作或任何其他存储操作与php-memcached的获取操作兼容?如果spymemca

php - memcached满了怎么替换数据,memcache性能如何?

来自memcachedwiki:Whenthetableisfull,subsequentinsertscauseolderdatatobepurgedinleastrecentlyused(LRU)order.我有以下问题:哪些数据将被清除?插入时间较早的那个,还是最近最少使用的那个?我的意思是,如果最近访问的数据是d1,这是插入时最旧的数据,并且在替换数据时缓存已满,它会替换d1吗?我正在使用PHP与memcached进行交互。我可以控制如何在memcached中替换数据吗?就像我不希望我的一些数据在过期之前被替换,即使缓存已满也是如此。不应替换此数据,而是可以删除其他数据以进行插

php - PHP 中的基本内存缓存问题

我以前从未使用过memcache,所以请原谅我的经验不足。虽然它很容易解释,但我想确保我正确使用内置函数,因为我正在创建一个将用于商业的类,因此它必须正确编码和高效。我有几个问题,但由于它们非常基本,我觉得将它们组合成一个Stackoverflow问题就可以了。如果他们需要论文答案,请不要打扰,我会将其作为单独的问题发布我什么时候需要使用memcache::addServer这和memcache::connect有什么区别?如果内存不足,即使项目尚未过期,memcache是否会覆盖存储的值?我会用什么memcache::getExtendedStats为了?如何检查与memcache的

php - 无效的 Memcache-> 连接成员变量错误

我们目前使用Nginx作为我们的服务器,使用memcached作为缓存机制。我正在检查PHP错误日志,许多关于memcached的PHP警告引起了我的注意。PHPWarning:Memcache::get():InvalidMemcache->connectionmembervariablein{directory}/library/Zend/Cache/Backend/Memcached.phponline180在它指向的那一行,有这段代码:$tmp=$this->_memcache->get($id);我还看到许多其他PHP警告,它们具有相同的警告消息,但与memcache对象的不