众所周知Redis有以下几种常见的数据类型 String(字符串)、List(列表)、Set(集合)、Hash(哈希)、Sorted set(有序集合)、Stream(流)、Geo(地理空间索引)、Bitmap(位图)、HyperLogLog(基数统计)等。
我们最常用的就是String(字符串)类型,String类型既可以存储字符串,也可以存储数字,甚至可以直接进行数值运算。
redis> set key1 value1
OK
redis> get key1
"value1"
redis> set key 1
Ok
redis> INCR key
(integer) 2
Redis是使用标准C语言编写的,而Redis String类型底层使用SDS(Simple Dynamic String 简单动态字符串),但是却没有使用C语言字符串使用,这到底是为什么呢?
Redis的优点是快、安全、节省内存,在设计Redis String实现的时候,也深刻的体现了Redis的这三个优点。
提到Redis字符串的优点,需要先看一下C语言字符串的缺点,毕竟没有对比就没有伤害。
1. C语言字符串实现原理
C语言字符串是使用char数组存储,以’