Questions tagged «memcached»

Memcached是用于少量任意数据(字符串,对象)的内存键值存储。它通常用作高速缓存以加快对常用数据的访问。

9
memcache与memcached?
我想使用memcached http://www.danga.com/memcached/ 我已经安装了 yum install memcached 但是现在我需要连接到PHP,并且有一个名为memcache的扩展和一个名为memcached的扩展?阿格 http://us3.php.net/manual/en/book.memcache.php http://us3.php.net/manual/en/book.memcached.php 有人可以在这里指示我正确的方向..哪个会起作用? 另外,即使它是本地的,我是否也需要打开任何端口才能使其工作?运行它之后,我尝试使用telnet 127.0.0.1 11211,但连接被拒绝。
76 linux  php  memcached 

7
如何在不重新启动整个Web服务器的情况下重新启动/清除内存缓存?
/opt/eduserver/eduserver 给我选择: 用法:/ opt / eduserver / eduserver {开始|停止|开始php |开始www | startooo |停止php |停止www | stopooo |重新启动php |重新启动www | restartooo |状态|重新启动|重新加载|强制重新加载} 其中,内存缓存为PHP模块有memcache.ini在/opt/eduserver/etc/php/conf.d。 我想从命令行清除内存缓存。我可以以某种方式执行此操作而无需“触摸” Web服务器的任何其他部分吗?
47 memcached  php 

6
应该使用哪个PHP(操作码)缓存,为什么?
我一直在听一些PHP(操作码)缓存,例如-APC,XCache,Memcache,eAccelerator等。 但是我永远无法弄清楚如何选择一个。除了性能优势(缓存系统应该提供的性能优势)之外,其他因素也应引起关注。 就像为什么您会说X缓存系统胜于Y?我不太担心相对性能的提高。任何两个系统之间的细微差别都不会产生太大的影响。 如果无法对我的问题有一个通用的答案,那么这里没有几个提示。我将专用VPS与Mediatemple一起使用(具有root访问权限)。RAM是512 MB(物理)+ 400MB(交换)我担心WordPress及其表亲WordPress-MU和BuddyPress。我们90%的代码/网站属于WordPress系列。 在此先感谢您的帮助。

1
“ <service_name>已死但子系统已锁定”是什么意思?
我正在尝试在一个centos框上运行memcached,它运行了一段时间,但最终处于这种状态: memcached已死,但子系统已锁定 netstat显示如下: tcp 0 0 :::11211 :::* LISTEN udp 0 0 0.0.0.0:11211 0.0.0.0:* ps显示此: nobody 21983 0.0 1.8 60272 19912 ? Ssl 16:46 0:00 memcached -d -p 11211 -u nobody -c 1024 -m 64 有人知道那是什么意思吗?


3
如何增加内存缓存的使用量?
我目前在运行Redhat x86_64 es5和32gb RAM的Xeon 7550服务器上。我已经安装了内存缓存,配置中剩下的唯一步骤就是设置它使用了多少内存。我是在旧服务器上完成此操作的,我在该服务器上通过Filezilla(root用户访问权限)下载了文件并进行了编辑。现在,我不记得我编辑了哪个文件以及整个过程如何进行。我想将内存设置为使用1 GB。 任何有见识的人吗?如果您会提供帮助,请彻底,因为我的Linux服务器知识有限。

5
是否可以使用Memcache守护程序池更有效地共享会话?
我们正在从1个Web服务器设置过渡到两个Web服务器设置,我需要开始在两个负载平衡的计算机之间共享PHP会话。我们已经安装并启动了memcached,因此我感到很惊讶,我只需更改文件中的3行(session.save_handler和session.save_path)就可以完成新服务器之间的共享会话:php.ini 我更换: session.save_handler = files 与: session.save_handler = memcache 然后在主Web服务器上,将设置session.save_path为指向localhost: session.save_path="tcp://localhost:11211" 在从属网络服务器上,我将设置session.save_path为指向主服务器: session.save_path="tcp://192.168.0.1:11211" 工作完成,我对其进行了测试,并且可以正常工作。但... 显然,使用memcache意味着会话在RAM中,如果计算机重新启动或memcache守护进程崩溃,会话将丢失-我对此有点担心,但是我对两个Web服务器之间的网络流量有些担心(尤其是我们会扩大规模),因为只要有人将负载平衡到从属Web服务器上,他们的会话就会从主Web服务器通过网络获取。我想知道是否可以定义两个,save_paths以便机器在使用网络之前先查看自己的会话存储。例如: 主: session.save_path="tcp://localhost:11211, tcp://192.168.0.2:11211" 奴隶: session.save_path="tcp://localhost:11211, tcp://192.168.0.1:11211" 这样可以在服务器之间成功共享会话并提高性能吗?即节省网络流量50%的时间。还是这种技术仅用于故障转移(例如,当一个内存缓存守护程序无法访问时)? 注意:我并不是真正在问有关Memcache复制的问题-有关PHP Memcache客户端是否可以在池中的每个Memcache守护程序内部达到峰值,如果找到一个则返回一个会话,如果找不到则仅创建一个新会话在所有商店。在写这篇文章的时候,我想我在向PHP提出很多要求,哈哈... 假设:没有粘性会话,循环负载平衡,LAMP服务器。


3
Memcached中意外的(?)高“浪费”内存
已更新,请参阅冗长(抱歉)问题的底部。 查看我们的内存缓存统计信息,我认为我发现了一个以前未曾意识到的问题。看来我们有一个奇怪的大量浪费空间。我检查了phpmemcacheadmin的更改,发现该图像盯着我: 现在我给人的印象是,最糟糕的情况是浪费了50%,尽管我是第一个承认不知道所有细节的人。我已经阅读(除其他外)此页面确实有些旧,但是我们的memcached版本也是如此。我想我确实了解系统的工作原理(例如),但是我很难理解如何才能达到76%的浪费空间。 phpmemcacheadmin显示的逐出率为2 ev/s,因此这里存在一些问题。 主要问题是:我该怎么做才能解决此问题。我可以为此增加更多的内存(我认为还有一些额外的可用空间),也许我应该摆弄平板配置(这个版本甚至可以吗?),也许还有其他选择吗?升级内存缓存版本不是一个快速可用的选项。 第二个问题是出于好奇,当然是,是否期望75%(并且还在不断增加)的浪费空间的比率是预期的,如果是这样,为什么。 系统:目前,这是我无能为力的事情,我知道内存缓存版本不是最新的,但是这些都是我所处理的。 内存缓存1.4.5 阿帕奇2.2.17 PHP 5.3.5 作为对@DavidSchwartz答案的回应:这是phpmemcacheadmin生成的平板统计信息:(比这些更多的平板) (我稍后还会以文本格式粘贴统计信息) 更新 我用-f 1.5重新启动了守护程序,它看起来真的很好。经过一番变暖,我们浪费了50/50。但是,与以前一样,我们一天的时间越长(一天中变得越来越忙),它开始回落到当前的水平:30/70,而浪费仍然在增加。除此之外,我仍然不知道“浪费”的来源。我看到这个平板: **Slab 5 Stats** Chunk Size 496.0 Bytes Used Chunk 77502 [24.6 %] Total Chunk 314986 Total Page 149 Wasted 117.3 MBytes Hits 30.9 Request/sec Evicted 0 它不完整,没有被逐出,但是浪费了117.3 MB。我所做的快速计算(如果我错了,请纠正我)是: 前一个平板的块大小为328,因此最坏的情况是此平板上装有329字节的块。 这意味着每个使用的块浪费167个字节= 12942834字节= 12.3 MB …
18 memcached 

2
在Memcached中添加与设置
我不了解ADD和SET之间的区别有任何线索吗?似乎ADD包含SET或如果存在某些东西且SET只是覆盖,则ADD返回false。谢谢! 编辑:我的特定问题是,“何时使用添加而不是设置或设置而不是添加?”
17 memcached 

1
无法连接到内存缓存主机!
我对memcached完全陌生!我在主机A(Ip 192.168.1.102)中成功安装并使用此命令启动了memcached memcached -u memcached -d -m 30 -l 127.0.0.1 -p 11211 我还将这些条目添加到iptables中 -A INPUT -m state --state NEW -m tcp -p tcp --dport 11211 -j ACCEPT -A INPUT -m state --state NEW -m udp -p udp --dport 11211 -j ACCEPT 重新启动了iptables服务,并监听了端口11211 telnet也可以! telnet localhost 11211 尝试127.0.0.1 ...已连接到本地主机。转义字符为'^]'。 但是我使用此脚本memcached_test.php从主机B(IP 192.168.1.103)连接到该主机A。 …
16 memcached 

3
Memcache基本配置
我已使用memcached pecl扩展名为Drupal网站安装了memcache。一切运行正常,但我仍在努力进行配置设置。 例如,遵循关于drupal.org的建议 You should probably lock down the memcache server so that it only listens for connections from the hosts that need to be served, as the default is that memcache listens to connections from all addresses. So, to close that hole, edit /etc/sysconfig/memcached with: OPTIONS="-l ${HOSTIP}" 问题是我的服务器上没有此文件,无论如何不在此位置。其他一些文章提到了/etc/memcached.conf,但我也找不到该文件。 考虑到/ …

1
memcache如何分配?
我已经在5个Web服务器上运行了内存缓存,所有这些服务器均在php的主机列表中,并且它们在前端进行了负载均衡。因此,由于应该将memcached进行分发,因此php客户端将决定向哪个节点写入键/值对,并保留一条记录,以便以后从该同一节点进行检索? 还是php客户端代码不够聪明,无法做到这一点,而是将数据写入所有服务器,然后从池中随机读取图片以进行读取? 但是如果这样做的话;写入主机列表/池中的所有实例;那么像http://repcached.sourceforge.net/这样的工具的目的是什么?该工具复制数据以实现冗余。 我问的原因是因为所有负载平衡的服务器都在运行它,并且如果确实将其写入池中的所有服务器,那么看来它违反了分发它的目的,因此我应该强迫php从主机中拉出在本地主机列表中。

4
nginx和memcached协同工作的效果如何?
我们在Glassfish应用服务器群集上运行了一个基于Java EE的Web应用程序。传入流量主要是对我们的应用程序资源的基于XML表示形式的RESTful请求,但是可能有5%的流量可能是针对基于JSON或XHTML / CSS的表示形式。 现在,我们正在研究负载平衡解决方案,以在群集中的Glassfish实例之间分配传入流量。我们还在研究如何使用memcached卸载群集,memcached是一种内存中的分布式哈希图,其键将是REST资源名称(例如,“ / user / bob”,“ / group / jazzlovers”),其值为相应的XML表示形式。 听起来很有希望的一种方法是用一块石头杀死两只鸟,并使用轻量级的快速nginx HTTP服务器/反向代理。Nginx将通过首先在memcached中查找其URI来处理每个传入请求,以查看是否已经存在未到期的XML表示形式。否则,nginx将请求发送到其中的Glassfish实例之一。在这篇简短的文章中描述了nginx memcached模块。 使用这种方式对nginx和memcached的总体印象是什么,您对它们有多满意?您发现哪些资源最有助于他们的学习?如果您尝试了它们,但它们不符合您的目的,为什么不这样做?您使用了什么呢? 注意:这是一个相关的问题。在我了解ServerFault之前,我曾在StackOverflow上问过这个问题。 编辑:尽管没有直接的经验,到目前为止,这里所有的答案都非常有帮助。这个答案最终确实出现在StackOverflow上,并且对nginx / memcached设置相当看好。
14 nginx  memcached 

6
用于RHEL 6.x的Netcat(nc)传统软件包?
我正在尝试使用Memcached的Percona Apache Monitoring [Cacti]模板。 他们确实警告您不能使用软件包的openbsd版本,并为Ubuntu / Debian用户提供解决方案,即: 您需要在服务器上使用nc。某些版本的nc接受不同的命令行选项。您可以通过配置PHP脚本来更改使用的选项。如果由于某种原因不想执行此操作,则可以安装符合脚本默认配置中编码的期望值的nc版本。在Debian / Ubuntu上,netcat-openbsd不起作用,因此您需要netcat-traditional软件包,并且需要切换到/bin/nc.traditional ... 由于RHEL 6.x版本确实来自openbsd(已通过确认rpm -qi nc),如何将其安装在RHEL / CentOS上? 还有其他人在RHEL / CentOS上运行这些Percona模板吗?你做了什么?alienDebian软件包? 更新1:FWIW,我尝试通过从源代码编译它来使用GNU netcat,但是它似乎也没有Cacti模板所需的确切选项(即,似乎没有-C或-q1的类比) 更新2:我异化了[netcat-traditional_1.10-38_amd64.deb]包来制作一个.tgz,它确实产生了一个二进制“ nc.traditional”,并且该版本具有-q选项,但没有-C 更新3:我按照cjc的建议消除了[ed] netcat-openbsd_1.89-3ubuntu2_amd64.deb,尽管它提供了-C和-q选项,但它似乎不适用于该模板。我还按照Quanta的建议从nc_cmd中删除了-q1选项。仍然不会从命令行绘制图形或产生输出。 更新4:我按照dmourati的建议构建了源RPM,并按了Quanta的建议保留了-q1,但它仍然没有图形化或无法从命令行产生输出。也许源RPM解决方案和/或未通过-q1可以在RHEL 5.x上运行,我不知道。在这一点上我承认失败。 干杯

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.