我是memcached
的新手,但对数据库内部和系统编程非常熟悉,所以这对我来说似乎很奇怪。很明显,基于内存的解决方案比基于磁盘的解决方案更快,但由于任何支持缓存的数据库都会更多地了解数据结构,因此它不应该更好地了解如何有效地缓存它吗?
我看到三种可能性:
memcached
部署的计算机具有比数据库服务器通常更多的RAM。”添加相同数量的内存会使解决方案表现相似吗?如果它不是这些的组合,那么添加缓存层还会给数据库带来哪些数据库带来什么呢?为什么数据库供应商不能/不能自己实现更好的缓存层呢?
答案 0 :(得分:1)
memcached的成功使用与“数据库级缓存”无关。这几乎不是一个好主意。
相反,你会想到你将从数据库中获得的所有东西,以构建一个“东西”,然后你缓存那个东西,这样你下次就不必这样做了。
此外,您可以缓存许多非数据库的东西。在您的应用中构建或检索任何昂贵的东西。缓存那个。
如果数据库查询足够快,请不要缓存它。