我使用nodejs作为"查询"服务器:客户端发送http GET http://xxxx:xxx/xxx?key=xxx到node.js,和node.js响应与相应的值。该值是在查询时生成的,我想缓存它。
我想要的缓存包括:
-
productive usage
,既不是项目也不是演示。 -
轻量级:键/值都是字符串。
-
高性能:键集可以是1M,每个键/值可以是~10KB
-
concurrent:大约每天10万个查询。
-
persistent:我可以将缓存保存到文件系统
-
分布式:node.js可能是NGINX后面的集群,所以缓存应该。
我认为这不仅仅是一个单独的包,而是一个解决方案。
谁能解释这个解决方案?
Redis完全符合你所需要的大多数特性,因为它是内存的、持久的、高性能的、并发的、分布式的,在生产环境中工作得很好,并且可以与nodejs集成。
Redis是一个数据结构服务器。它是开源的,联网的,内存中的,并存储具有可选持久性的密钥。一些特征是:——交易- - - - - - Pub/Sub- Lua脚本-限时键
- LRU清除键—自动故障转移
你可以在这里阅读更多关于redis或redis-wiki
你也可以参考这个答案来了解更多关于redis。