2012-02-29 54 views
4

我正在寻找以紧凑形式存储cookie数据。生成url安全数据的压缩算法

有没有这样的东西作为一个压缩算法,产生URL安全输出? 目前我的做法是

String jsonData = GSON.toJson(data); 
byte[] cookieBinaryData = jsonData.getBytes("UTF-8"); 
byte[] cookieSnappyData = Snappy.compress(cookieBinaryData); 
String cookieBase64Data = new Base64(true).encodeToString(cookieSnappyData); 

从这个cookieBase64Data是存储该cookie里面的一个。 我很乐意跳过Base64跳。

回答

0

否。压缩通常是无前缀的代码而不是字符集。你可以使用yEnc编码来保护一些位。我个人不确定为什么yEnc注定要失败。它使用扩展的8位ASCII字符集,并且在压缩数据上增加了很少的开销(2%):http://en.wikipedia.org/wiki/YEnc

1

通过这样做可以节省多少钱?这值得么?

如何将一个ID保存在一个cookie中,然后查找数据库中的所有数据?有点像一个长期的会话,但你控制着你存储的数据,所以没有太多数量。

+0

网站如何使用负载平衡器?你能保持会话数据总是在不同的盒子之间同步吗? – Bytemain 2012-02-29 16:14:43

+0

当您使用数据库时,您可以拥有两台数据库服务器并使其与复制保持同步。如果您将信息存储在会话对象中,那么您也可以同步该信息。每个Web应用程序容器都有自己的配置集群的方式。以下是如何配置Tomcat的:http://tomcat.apache.org/tomcat-6.0-doc/cluster-howto.html – 2012-02-29 17:30:37