看来PHP有两个名为memcache和memcached的 memcached库.有什么区别,你怎么知道使用哪一个?一个过时了吗?似乎memcached提供了更多的方法,所以我认为这意味着它有最多的开发 - 但它似乎也需要外部C/C++库,所以我不确定我是否可以安装它.
似乎memcache已经存在更长时间,不需要额外的库,并且已经预编译了偶数窗口的二进制文件!我认为这将是现在更好的选择.然而,作为memcached(服务器)的新手,我不确定memcached(php)中是否有一些非常重要的特性使其值得额外麻烦.
随着基于文档的数据库的NoSQL运动的增长,我最近看了MongoDB.我注意到与如何将项目视为"文档"有惊人的相似之处,就像Lucene(和Solr的用户)一样.
所以,问题是:你为什么要使用NoSQL(MongoDB,Cassandra,CouchDB等)而不是Lucene(或Solr)作为你的"数据库"?
我(我相信其他人)在答案中寻找的是对它们的深入比较.让我们一起跳过关系数据库讨论,因为它们有不同的用途.
Lucene提供了一些重要的优势,例如强大的搜索和重量系统.更不用说Solr的一个方面(Solr很快被整合到Lucene中,是的!).您可以使用Lucene文档来存储ID,并像MongoDB一样访问文档.将它与Solr混合,您现在可以获得基于WebService的负载平衡解决方案.
在讨论MongoDB的类似数据存储和可伸缩性时,您甚至可以对Velocity或MemCached等进程外缓存提供程序进行比较.
MongoDB的限制让我想起了使用MemCached,但我可以使用Microsoft的Velocity,并且对MongoDB有更多的分组和列表收集功能(我认为).无法比内存中的缓存数据更快或更具可扩展性.甚至Lucene都有一个内存提供商.
MongoDB(以及其他)确实具有一些优势,例如API的易用性.新建文档,创建ID并存储它.完成.好,易于.
在过去的几周里,我在memcached上做了很多工作,刚刚发现了Redis.当我读到他们自述的这一部分时,我突然感到内心温暖舒适的感觉:
Redis可以用作类固醇的memcached,因为它与memcached一样快,但具有更多的功能.与memcached一样,Redis也支持为键设置超时,以便在给定时间过后自动删除此键.
听起来很神奇.我还发现这个页面有基准:http://www.ruturaj.net/redis-memcached-tokyo-tyrant-mysql-comparison
所以,老实说 - 与这个名为Redis的新人相比,从性能角度来看,memcache真的是那个古老的dinousaur吗?
我以前没有听过很多关于Redis的信息,因此我的问题就是解决方法!
我读了这篇文章:http://www.mysqlperformanceblog.com/2006/09/27/apc-or-memcached/当时..我希望得到最好的缓存引擎,以便我的应用程序非常快.当然我不想过度缓存,但我想至少选择最好的东西.在那篇文章中它说Memcached很慢而且apc很快所以为什么每个人都选择memcached?
http://framework.zend.com/manual/en/zend.cache.backends.html#zend.cache.backends.twolevels在这里说"使用快速的(但有限的)像Apc,Memcache ......和a "慢"一个像File,Sqlite ......"你认为使用Apc作为快速和Memcache,因为慢是一个好主意?
有人可以解释一下PHP环境中Memcache和Memcached的区别吗?一个优于另一个的优点是什么?您是否也可以建议用于在一个或另一个之间进行选择的标准?
我在stackoverflow上检查了一些类似的问题,但还没有找到答案.
我正在尝试在Lion OSX上安装memcached,如下所示.
这是我得到的:
j-court-demones-macbook-pro:libevent-1.4.12-stable jcourtdemone$ ./configure; make
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... ./install-sh -c -d
checking for gawk... no
checking for mawk... no
checking for nawk... no
checking for awk... awk
checking whether make sets $(MAKE)... yes
checking for gcc... gcc
checking for C compiler default output file name...
configure: error: in `/tmp/libevent-1.4.12-stable':
configure: error: C compiler cannot create executables
See `config.log' …
Run Code Online (Sandbox Code Playgroud) 如何获取memcached实例中设置的所有键?
我尝试使用谷歌搜索,但除了PHP
支持getAllKeys
方法之外没有找到太多,这意味着实际上可以以某种方式做到这一点.如何在telnet会话中获得相同的内容?
我已经尝试了memcached备忘单和Memcached telnet命令摘要中提到的所有检索相关选项,但它们都不起作用,我无法找到正确的方法来执行此操作.
注意:我目前正在开发中进行此操作,因此可以假设由于设置了新密钥或其他此类竞争条件而没有问题,并且密钥的数量也将受到限制.
我正在努力加快我的基准测试(3层Web架构),并且我有一些与Memcache(d)和Varnish相关的一般性问题.
有什么不同?
在我看来,Varnish是Web服务器的后面,缓存网页,不需要更改代码,只需要配置.
另一方面,Memcached是通用缓存系统,主要用于缓存数据库的结果,并且需要更改get
方法(第一次缓存查找).
我可以同时使用吗?前面的Web服务器和Memcached中的Varnish用于数据库缓存?
什么是更好的选择?
(方案1 - 主要是写,
方案2 - 主要是读取,
方案3 - 读取和写入类似)