解读 Redis 默认存储大小机制(redis 默认存储大小)
Redis是一个开源的使用ANSI C语言编写的高性能的键值对NoSql数据库,其中可以存贮各种类型的数据,如字符串、哈希、列表等。在Redis中,默认存储大小机制可以有效减少内存消耗,使用更少的内存更好地存储数据,减少无效的内存消耗。
Redis的默认存储大小机制是使用不同的编码方式对不同的对象进行存储。对于字符串类型的对象,Redis使用特殊的编码方式–Intset来存储,能够把一个字符串存储成一个64位整数。同理,Redis在存储哈希表类型的数据时,会选择使用Hashtable和Zipmap等编码方式来节省存储空间。
//获取redis存储大小
Size size = jedis.strlen("key");
其中,调用strlen命令可以获取对应key的存储大小,这里提一句,其他类型的对象也可以使用该命令获取存储大小,不过有微小的偏差,因为不同类型的数据存储有所不同。但这种偏差较小,是可以接受的,而且这个偏差的数值静态,可以按照调试api确定。
此外,除了存储大小外,Redis还提供访问大小的功能,但这个不是默认的,需要需要在redis.conf配置文件中打开。开启这个功能之后,Redis会在每次访问某一key时,更新这个key的访问大小。
本文就解读了Redis默认存储大小机制,Redis使用不同的编码方式对不同类型的对象进行存储,节省内存消耗,有效降低无效内存消耗,提升服务器效率和性能。