如何发挥一个字节的极限,存储大量内容

Posted 姜姜闯世界

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何发挥一个字节的极限,存储大量内容相关的知识,希望对你有一定的参考价值。

在当前的硬件发展阶段,存储空间已经是非常廉价的了,普通硬盘都是以T来计量,内存以G来计量,服务器内存16G,64G已经普及,所以我们在开发的时候,很少去考虑数据是否有足够的空间存储。

可以定义成byte,short的字段,我们为了方便,会定义成int,这对业务来讲,并没有什么区别。甚至会定义成varchar,完全不用考虑空间是否有浪费。

但是在某些特殊业务场景,对性能和网络传输有苛刻的要求时,我们需要使用最小的空间存储最多的内容。

业务场景:

一个设备有8个插口,每个插口有一个状态(可用,不可用),一个字节是8位,

假如1号,4号,5号,7号插口可用,2号,3号,6号,8号插口不可用,

那么二进制数据是"10011010",转换成2进制就是154,转成16进制就是9A,那么我们只需要存储9A就可以代表当前这个设备8个插口的状态。

"10011010"也可以每两位表示一个值,每两位转成10进制就是2122,再转成16进制是84A

以上是关于如何发挥一个字节的极限,存储大量内容的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB应用案例:使用 MongoDB 存储日志数据

MongoDB应用1——日志分析

Java如何获取Redis中存储的大量内容?

HashMap存入大量数据是否要预定义存储空间

哔哩哔哩基于拉链表的全量表极限存储优化方案

想要在 iPad 中存储大量数据