php实现稀疏数组

场景一

php实现稀疏数组

场景二

报表的存储场景(这里暂不涉及表间取数和勾稽关系的计算)

php实现稀疏数组

php实现稀疏数组

定义

稀疏数组可以看做是普通数组的压缩,这里的普通数组特点是值无效数据量远大于有效数据量的数组

形如:


php实现稀疏数组

稀疏数组形式:


php实现稀疏数组

为什么要进行压缩存储呢

  • 原数组中存在大量的无效数据,占据了大量的存储空间,真正有用的数据却少之又少.
  • 压缩存储可以节省存储空间以避免资源的不必要的浪费,在数据序列化到磁盘时,压缩存储可以提高IO效率 .

备注:数据密集型结构不太适合这种解决方式


这里采用文件存储(当然最终的数据是要存到db里的)


php实现稀疏数组


php实现稀疏数组


php实现稀疏数组


php实现稀疏数组


php实现稀疏数组


php实现稀疏数组


php实现稀疏数组


打印输出:


php实现稀疏数组


我们来看下保存的文件大小.

php实现稀疏数组

我们在来对比文件内容:


php实现稀疏数组


php实现稀疏数组


分享到:


相關文章: