我需要存储一些带有数据的对象缓存。如何在放入缓存时压缩它们并在从中读取时解压缩?
为了我的目的,我需要在客户端逻辑中缓存一些商店页面。我想我可以拥有大量的数据,所以当记录数量超过500时,我会清除旧值。 我的缓存只是一个JavaScript对象,所以我需要将所有数据(对象数组)存储在内存中。
正如Oleg Volkov所说(привет!),我描述了我的任务:
1)有一些ExtJS 4.1存储和组合与multiSelect和分页
2)我写了一些函数(客户端和服务器端),它们可以a)在我想设置的值放置时获取页面)b)可以将setValues值存储在founderValues对象中以保存它们值(在setRawValue中设置)并且可以在我跨页面时突出显示它们。
3)我的pageSize是25.所以,如果我想做setValues([1,34,10]),store将从firstPage获取值,然后加载第二个,获取值(34),并将转到第一个得到10!但我希望存储1到25的所有值都属于第一页,并从缓存中获取,而不是在Ajax请求中。
答案 0 :(得分:2)
除了空间(代码)和时间(CPU)的巨大努力之外,你不应该这样做。空间非常宝贵的系统(移动?)也只有有限的CPU功率(压缩东西需要能量!),所以如果你需要它,你不应该这样做。
客户端代码(今天)应该在服务器上保留大量数据(如果很多),并且只按要求提供小块数据。浏览器的JS引擎可能会也可能不会自己进行压缩,这真的不是您作为JS程序员的业务。与内存管理相同,故意远离JS程序员。
所以答案是:重新设计你的应用程序,以遵循JS客户端/服务器编程和交互的当前编程范例。
答案 1 :(得分:1)
您在客户端投入压缩和解压缩数据的努力不值得使内存中的数据量变小。
如果您需要进行压缩,请检查这些链接。