我正在建立一个单页网站,通过图表向用户显示动态数据(每秒更新一次)。我希望这个页面能够收到大量的流量。
我的数据存储在REDIS,我正在使用Highcharts显示图表。我正在使用ruby / Sinatra作为我的应用层。
我的问题是我应该如何最好地构建数据存储和JavaScript图解决方案之间的链接?
我考虑直接连接到REDIS,但这似乎效率最低。我想知道ruby每秒构建一个XML文件的XML解决方案,然后Highcharts从那里提取数据是最好的,因为压力只是在点击那个XML文件。
但我想看看这里的人是否可能先前解决了这个问题,或者有更好的想法?
答案 0 :(得分:2)
如果数据不是特定于用户的,则应将其缓存到客户端可以轻松读取的表示中。使用网络浏览器时, JSON 可能是better choice。
您可以使用Redis本身缓存它。 (Memcached,Varnish是其他选项)每次数据到达时都应该缓存它,并且必须避免在每个请求上转换数据。请求必须简单地从缓存中提供预先计算的信息(就像使用静态信息一样)
为了在客户端获得更好的体验,您应该尽量减少从服务器下载的数据量。 JSON比XML更好地实现了这一目的。