【发布时间】:2011-11-19 23:41:02
【问题描述】:
首先对我糟糕的英语感到抱歉。请让我先解释一下我的情况, 我将数据作为一组 gzip 数据存储在 Memcached 中。我称每个数据为一块数据。 每个都是从数据库中加载,压缩并提前存储在 Memcached 中。这 在服务可用之前作为准备过程完成。 (减少数据库负载)
然后我的服务器代码简单地从 Memcached 获取 gzip 数据,然后立即返回 gzip 数据。
从用户的角度来看,他们可以同时请求任意数量的块。 例如,假设 Memcached 上有 10 个块,用户可能会请求单个 块,在这种情况下,我可以毫无问题地发回一个 gzip 文件作为响应。 但是当用户同时请求多个块时,我根本不知道如何 来处理它。获取多个块并将它们压缩为单个 GZIP 文件是 不是解决方案。我只是想将请求的 gzip 文件作为单个请求同时发送。
我的第一个想法是我会从数据库中加载数据,然后将它们存储在 Memcached 不压缩它们。当一个请求进来时,我会得到一个存储的数据 Memcached 然后将其压缩并发送回。但是这样做肯定是浪费cpu 循环,因为每次创建响应时都必须进行压缩。所以我想要一个 不压缩它们的方法,只需立即将它们发送回去,浏览器仍然可以理解 我发送的内容。
如果我的问题让您感到困惑,请告诉我,我会尝试详细说明。因为我真的 需要帮助。
【问题讨论】: