8月 042014
 

问题

如何能使得一些信息可以存储更小?

分析

常见的存储方式:

key_len + key + value_len + value + …

优化方法

  1. 如果key是定长的,则: key_len 可以省略
  2. 如果对key编号,则,key可以更短
  3. 如果按顺序存储,则key_len 、key都可以省略
  4. 如果value是定长的,则value_len 可以省略; 延伸: 对于定长的value,省略value_len,非定常的value,不省略
  5. 如果顺序存储,对于空字段也要保留1个字节的value_len  (value_len = 0),这里可以设计1个元字段,标识哪些字段为空(或非空),这样就不再需要1个字节的value_len 了
  6. 设置默认值; 对于出现次数频繁的value,设置为默认值,不做存储,而且,如果出现频繁的value为多个,则可以通过2bit的信息标明默认值为1、2、3; 不宜设置太多的默认值,那样就不会节省空间了

 优化原理

  1. 信息没有丢失,而是藏在了逻辑(或代码)当中

 

 Posted by at 上午 10:34

 Leave a Reply

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

(required)

(required)

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据