是否存在纯粹在Node.js中编写的数据库(mysql)查询缓存的实现?
我正在编写一个Node web应用程序,并计划使用memcached缓存查询,但在考虑这一点时,我意识到它可能通过单独的Node.js层进行缓存
解释:
您可以通过单独端口上的节点服务器查询数据库,从可用内存中返回数据并将其加载到不存在的内存中。
任何人都知道Node.js如何在散列数组的返回速度方面与memcache进行比较?这是一个梦想还是我应该看的东西?
答案 0 :(得分:5)
我继续编写了一个私人使用的缓存解决方案,将数据存储在共享对象中。这不是真正的查询缓存,它存储特定的结果而不是哈希排序的原始sql结果,但它保留了我在内存中所需的内容并且非常容易编写。
由于我最初问过这个问题,许多节点缓存解决方案已经出现了问题:
我没有使用其中任何一种,但其中一种可能对其他人有用。
答案 1 :(得分:1)
你绝对可以在节点中实现这样的东西,它可能是一个有趣的项目,但它取决于你的需求。如果您只是为了一个业余爱好项目,请务必在节点中构建一个缓存层并进行尝试。让我们知道怎么回事!
如果这是用于生产用途,那么我建议坚持使用已建立的缓存层(memcached,redis等),因为它们已经经历了与构建可扩展缓存系统相关的所有成长的痛苦。
答案 2 :(得分:1)
我编写了一个node.js模块,它使用memcached执行MySQL查询缓存。
该模块名为Memento,可在https://www.npmjs.com/package/memento-mysql
获取享受!