优化Redis的存储空间
Redis是一个基于内存的数据库,所有的数据都存储在内存中,所以优化存储、减少内存空间占用对成本控制来说非常重要。
1.精简键名和键值;
2.内部编码优化:Redis为每种数据类型提供了两种内部编码方式,并且Redis会根据实际情况自动调整。
共享对象:Redis启动后会预先建立10000个分别存储从0到9999这些数字的redisObject类型变量作为共享对象,如果要设置的字符串键值在这10000个数字内(如 SET key1 123)则可以直接引用共享对象而不用再建立redisObject了。由此可见,使用字符串类型键存储对象ID这样小数字是非常节省存储空间的,Redis只需存储键名和一个对共享对象的引用即可。
REDIS_ENCODING_ZIPLIST 编码类型是一种紧凑的编码格式,它牺牲了部分读取性能以换取极高的空间利用率,适合在元素较少时使用