0

我有一个 Web 应用程序,它查询 opentsdb 服务器(在后端使用 Hbase 集群)以获取不同指标的数据点并使用 dygraph javascript 图形库,我正在绘制这些指标。由于从 opentsdb 获取过去一天的所有数据点以获取特定指标本身需要将近 2 秒,因此我绘制近 25 个指标的应用程序变得非常缓慢。

为了减少这种延迟,我正在考虑使用 php5 的 memcached 模块来缓存所有查询。但我对 memcached 没有几个问题。

  • 有什么方法可以配置 memcache 以通过在特定时间间隔后运行一些命令行查询来继续在后台更新其缓存。

  • 有什么方法可以将 memcache 配置为始终使用缓存来回复查询,而不是首先更新其缓存,因为我的应用程序只是绘制过去一天的数据点。遗漏一些数据点并不是那么关键。

如果还有其他方法可以减少这种延迟,请建议我。

4

1 回答 1

2

两者都不是 memcached 的工作。您的应用程序应该在后台更新缓存(通过运行 cron),并且您可以将缓存设置为过期(比如说 12 小时),但检查时间(您必须将其存储在缓存中)以及是否少于 2 小时到过期,运行后台进程更新缓存

于 2012-12-15T14:47:48.240 回答