【发布时间】:2015-12-28 17:48:29
【问题描述】:
关于缓存来自对外部 ReST API 的调用的数据的问题。
目前设置了一个 ReST 服务来生成和检索 UI 必须使用的某些特定类型的报告。但是,此服务不适合大量使用,也不适合向公众公开,而且这些报告是相当静态的。可能每 10-20 分钟更换一次。 Web 应用程序驻留在单独的服务器上。
我想做的是,使用 memcached 或 Redis,当数据请求从 UI 进入 Web 后端时,从 Web 应用程序后端调用报表服务器以获取指定的报告,将数据转换为适当的格式以供 UI 使用,使用时间戳对其进行缓存,并将其返回给 UI,以便后续请求将在 Web 应用程序后端的内存中可用,而无需重新请求从报表服务器。如果缓存报告的保存时间超过指定时间,我还需要检查此时间戳并发出新请求。将被缓存的数据非常少,只是一些小的 JSON 对象,只有少数值保存 UI 所需的信息,而且这些对象并不多,如果它们都可以轻松存储在内存中,我不会感到惊讶一次,所以时间戳是唯一需要的失效。
在缓存/memcached/Redis 方面,我在这里的经验几乎为零。两者有优势吗?这样的事情可能吗?我将如何实施呢?还有其他选择吗?
感谢您的帮助!
【问题讨论】:
标签: rest caching web redis memcached