eAccelerator和缓存之间的差异的详细解释

eAccelerator和memcached是最受欢迎的两种缓存加速器,可用于PHP。
eAccelerator是专门开发的PHP和memcached不仅用在PHP,但所有其他语言的应用。

eAccelerator的主要功能:

1。缓存的PHP文件的执行代码:当再次调用缓存的代码时,它将直接从内存中读取,从而使PHP的速度在很大程度上运行。

2。提供共享内存操作功能:用户可以保存其常见的非资源映像,保存到内存中,并随时可以读取。

主要功能memcached:

提供共享内存操作功能来保存和读取数据。

两者的共同点是:

公共点:提供所有共享内存操作函数,可以用来保存和读取自己的数据。

两者之间的区别:
eAccelerator作为PHP扩展的库存,所以它可以读取和共享内存只有当PHP运行。一般来说,只能由操作共享内存本身的程序调用它。

同时,eAccelerator可以缓存PHP程序来提高程序的输入和执行速度的执行代码。

memcached主要用作共享存储服务器和PHP扩展库只有一个PHP连接到memcached存储。它类似于MySQL扩展库。因此,Memcached可以从PHP完全分离,其共享的数据可以被不同的程序调用。

根据不同,我们在他们真正需要的地方使用它们:

eAccelerator主要用于单机PHP的速度增加,缓存中间数据。它具有很高的实时性,但数据量小。

memcached是用于分布式或集群系统。多个服务器可以共享数据。它具有实时性强、数据量大的特点。

正确认识memcached

在开始的时候,我听说使用memcached缓存内存中的数据,然后对数据进行操作,包括查询和更新,听起来不错。这样,你不需要对数据库进行操作一段时间。这是伟大的。

我一直在想一个问题,查询确实可以,但如何更新存储器来处理并发,是memcached有这样的功能吗如果是这样,那真是太神奇了。

但它的不一样,这种理解memcached是不正确的。

这是其他缓存一样,当数据被更新,一些缓存,即过时。

在互联网上,长老阐述memcached显示。

因此,它不应该更新memcached直接省略数据库的链接。

首先想到的是他提供的set方法是用来更新数据库,然后是你的梦想。

事实上,这种方法是在数据库中缓存的缓存记录,并指定它的有效期是多久。

现在我想为什么,我们的缓存内容从未改变,即使我已经删除的记录。

当我们在设置(),它没有设置到期时间,默认为0,即不会过期。它一直存在,只要memcached服务器不重启。

在这种方式中,我们使用缓存来减少我们的ROR项目数据库检索,我们不能指望memcached使我们即使更新数据库。

如果更新数据库真的是免费的,它真的会进入非数据库时代,哈哈,这是不可能估计的,如果我们能保证用户在队列中,一个接一个。

减轻更新压力的另一种方法。