使用Node.js缓存数据库查询

时间:2012-02-09 16:17:41

标签: mysql caching node.js memcached

是否存在纯粹在Node.js中编写的数据库(mysql)查询缓存的实现?

我正在编写一个Node web应用程序,并计划使用memcached缓存查询,但在考虑这一点时,我意识到它可能通过单独的Node.js层进行缓存

解释:

您可以通过单独端口上的节点服务器查询数据库,从可用内存中返回数据并将其加载到不存在的内存中。

任何人都知道Node.js如何在散列数组的返回速度方面与memcache进行比较?这是一个梦想还是我应该看的东西?

3 个答案:

答案 0 :(得分:5)

我继续编写了一个私人使用的缓存解决方案,将数据存储在共享对象中。这不是真正的查询缓存,它存储特定的结果而不是哈希排序的原始sql结果,但它保留了我在内存中所需的内容并且非常容易编写。

由于我最初问过这个问题,许多节点缓存解决方案已经出现了问题:

  1. ptarjan/node-cache
  2. tcs-de/nodecache
  3. vxtindia/node-cache
  4. mape/node-caching
  5. 我没有使用其中任何一种,但其中一种可能对其他人有用。

    现在节点还有redismemcached个客户端。

答案 1 :(得分:1)

你绝对可以在节点中实现这样的东西,它可能是一个有趣的项目,但它取决于你的需求。如果您只是为了一个业余爱好项目,请务必在节点中构建一个缓存层并进行尝试。让我们知道怎么回事!

如果这是用于生产用途,那么我建议坚持使用已建立的缓存层(memcached,redis等),因为它们已经经历了与构建可扩展缓存系统相关的所有成长的痛苦。

答案 2 :(得分:1)

我编写了一个node.js模块,它使用memcached执行MySQL查询缓存。

该模块名为Memento,可在https://www.npmjs.com/package/memento-mysql

获取

享受!