假设为了提高存储效率,您已经使用 Zlib 压缩了不常访问的数据库数据,并且有人使用浏览器请求了其中的一些数据。人们将如何处理这些数据?
这是我想要的一个不切实际但直截了当的例子:
require "zlib"
class SomeController < ApplicationController
def index
compressed_data = Zlib::Deflate.deflate("Some precompressed database data.")
render :text => compressed_data
end
end
这会将压缩数据提供给客户端的浏览器,但不会将其解压缩以进行正确查看。有没有办法使这项工作,以便客户端以未压缩(膨胀)状态接收此数据。关键是我不想在控制器中充气,只是为了再次使用Rack::Deflater
. 我想避免不必要的 cpu 使用/时间消耗,同时降低存储和带宽使用。