业务或数据层的缓存部分是否在一个简单的LAMP堆栈中?
答案 0 :(得分:2)
这可能适用于业务,数据或包含数据并使用数据的任何其他层中的每个数据的交叉关注。
答案 1 :(得分:2)
memcached不是简单 LAMP堆栈的一部分。基本的LAMP应用程序直接从数据库获取数据并将其模板化到视图中。 简单应用程序(甚至许多复杂的应用程序)不需要更多。
您将memcached添加到应用程序,因为您的数据太慢而无法计算,无法实时运行。虽然memcache当然在数据层中,但是当你依赖于memcache时,你会失去数据库服务器的一致性,这意味着你通常需要包含一些特定于应用程序的规则,以便基于数据库缓存数据的时间长度。您应用的业务逻辑。当然,它会影响业务层。如果您正在缓存的内容是预先填充的视图(例如HTML),那么它也会触及表示层。
这种广泛且不容易封装的特性是为什么在真正需要之前不应该将memcache引入应用程序的原因。不要认为它是性能的必要基础;记住,您的数据库还具有您可以利用的表和查询缓存,而不必放弃一致性并添加缓存到期复杂性。
答案 2 :(得分:0)
Memcached位于数据库和Web服务器之间。它是一个缓存,但更重要的是它是一个显式缓存。所以事情本身并没有得到它。你必须从它“放”和“得到”。最大的优点是,它比数据库快近10倍。如果从memcached中获取数据,则不需要进行SQL调用,从而将数据库保存一些周期以执行更重要的操作。
因此,图书目录网站是80%阅读和20%写作的理想候选人。有关详细信息< here>。