Caching database queries with Node.js
是否有纯粹用Node.js编写的数据库(mysql)查询缓存实现?
我正在编写一个Node Web应用程序,并计划使用memcached缓存查询,但是考虑到这一点,我意识到有可能改为通过单独的Node.js层进行缓存
说明:
您可以通过单独端口上的节点服务器查询数据库,从可用的内存中返回数据,然后将其加载到不可用的内存中。
任何人都知道在散列数组的返回速度方面,Node.js将如何与memcache进行比较?这是白日梦还是我应该看的东西?
我继续写了一个供个人使用的缓存解决方案,该解决方案将数据存储在共享对象中。这并不是真正的查询缓存,它存储特定的结果,而不是由哈希排序的原始sql结果,但是它将我所需的内容保留在内存中,并且非常容易编写。
自从我最初问这个问题以来,出现了许多节点缓存解决方案:
我没有使用过其中任何一个,但是其中一个可能对其他人有用。
现在也有用于节点的redis和memcached客户端。
我已经编写了一个node.js模块,该模块使用memcached执行MySQL查询缓存。
该模块名为Memento,可从https://www.npmjs.com/package/memento-mysql
获得。
享受!
您绝对可以在node中实现类似这样的内容,这可能是一个有趣的项目,但这取决于您的需求。如果您只是为了一个爱好项目而这样做,则一定要在node中构建一个缓存层,然后尝试一下。让我们知道怎么回事!
如果这是供生产使用,那么我建议坚持使用已建立的缓存层(memcached,redis等),因为它们已经经历了与构建可伸缩缓存系统相关的所有增长难题。