我使用nodejs作为“查询”服务器:客户端将http GET http://xxxx:xxx/xxx?key=xxx发送到node.js,并将node.js响应发送给相应的值。查询时生成该值,我想缓存它。
我想要的缓存包括:
productive usage
,既不是项目也不是演示。
轻量级:键/值都只是字符串。
高性能:密钥集可能是1M,每个密钥/值可能是~10KB。
并发:每天大约约10万次查询。
persistent:我可以将缓存存储到文件系统。
分布式:node.js可能是NGINX背后的集群,因此缓存应该是。
我认为这不仅仅是一个包,而是一个解决方案。
任何人都可以解释这个解决方案吗?
答案 0 :(得分:0)
Redis非常适合您需要的大多数功能,因为它在内存中,持久性,高性能,并发,分布式,在生产中运行良好,并且可以使用nodejs集成。
Redis是一个数据结构服务器。它是开源的,联网的,内存中的,并且存储具有可选耐久性的密钥。
一些功能是:
- 交易
- 发布/订阅
- Lua脚本
- 限时生活的钥匙
- LRU驱逐钥匙
- 自动故障转移
您可以阅读有关redis here或redis-wiki
的更多信息您还可以参考this answer了解有关redis的更多信息。