文章目录
- (一)Redis数据类型之string
- (二)Redis数据类型之hash
- (三)Redis数据类型之list
- (四)Redis数据类型之set
- (五)Redis数据类型之sorted set
(一)Redis数据类型之string
字符串类型是redis中最基本的数据类型,它能存储任何形式的内容,包含二进制数据,甚至是一张图片
一个字符串类型的值存储的最大容量是1GB,一般情况下我们存储的单条数据肯定是达不到的这个限值的
string类型比较适合存储类型单一的数据
针对string类型主要有下面这些常见命令:
命令 格式 解释
set set key value 给key设置一个Value(字符串类型的)
get get key 获取key的值
incr incr key 对key的值递加+1(值必须是数字)
decr decr key 对key的值递减-1(值必须是数字)
strlen strlen key 获取key值的长度
(二)Redis数据类型之hash
- hash类型的值存储了字段和字段值的映射,字段和字段值只能是字符串,不支持其他数据类型
- hash类型的值至多存储 2的32次方-1 个字段,一般情况下我们也达不到这个极限
- hash类型比较适合存储对象,因为对象里面是有一些属性和值的,我们就可以把这些属性和值存储到这个hash类型里面
针对hash类型主要有下面这些常见命令:
命令 格式 解释
hset hset key field value 向hash中添加字段和值
hget hget key field 获取hash中指定字段的值
hgetall hgetall key 获取hash中所有的字段和值
hexists hexists key field 判断hash中是否包含指定字段
hincrby hincrby key field num 对hash中指定字段的值递增
hdel hdel key field 删除hash中指定的字段
hkeys/hvals hkeys/hvals key 获取hash中所有字段或字段值
hlen hlen key 获取hash中所有字段的数量
(三)Redis数据类型之list
list是一个有序的字符串列表,列表内部是使用双向链表(linked list)实现的
list列表类型的值最多可以存储 2的32次方-1 个元素,一般我们也达不到这个限值
list类型比较适合作为队列使用,使用lpush+rpop可以实现先进先出的队列
针对list类型主要有下面这些常见命令:
命令 格式 解释
lpush lpush key value 从列表左侧添加元素
rpush rpush key value 从列表右侧添加元素
lpop lpop key 从列表左侧弹出元素
rpop rpop key 从列表右侧弹出元素
llen llen key 获取列表的长度
lrange lrange key start stop 获取列表指定区间的元素
lindex lindex key index 获取列表指定角标的元素
lset lset key index value 修改列表中指定角标的元素
(四)Redis数据类型之set
- set是一个集合
- set集合中的元素都是不重复的,无序的
- set集合类型的值最多可以存储 2的32次方-1个 元素
- set集合比较适合用在去重的场景下,因为它里面的元素是都不重复的
针对set类型主要有下面这些常见命令:
命令 格式 解释
sadd sadd key value 向集合中添加元素
smembers smembers key 获取集合中所有元素
srem srem key value 从集合中删除指定元素
sismember sismember key value 判断集合中是否包含指定元素
sdiff diff key1 key2 获取两个集合的差集
sinter sinter key1 key2 获取两个集合的交集
sunion sunion key1 key2 获取两个集合的并集
scard scard key 获取集合中元素的数量
(五)Redis数据类型之sorted set
- 有序集合,在集合类型的基础上为集合中的每个元素都关联了一个分数,根据分数进行排序,这样就实现了有序。
- sorted set比较适合用在获取TopN的场景,因为它里面的数据是有序的
针对sorted set类型主要有下面这些常见命令:
命令 格式 解释
zadd zadd key value 向集合中添加元素
zscore zscore key value 获取集合中指定元素的分值
zrange zrange key value 获取集合指定元素的排名(正序)
zrevrange 格式同上 获取集合指定元素的排名(倒序)
zincrby zincrby key num value 给集合中指定元素增加分值
zcard zcard key 取集合中元素的数量
zrem zrem key value 从集合中删除指定元素