Redis系列_02_Redis五大数据类型

string数据类型

简介

string类型是Redis最基本的数据类型,因为string类型在Redis中的存值是二进制安全的,因此,只关心存值是否为二进制的字符串。

操作命令

  • 添加/修改数据:set key value
  • 获取数据:get key
  • 删除数据:del key
  • 添加/修改多个数据:mset key1 value1 key2 value2 …
  • 获取多个数据:mget key1 key2 …
  • 获取数据字符个数(字符串长度):strlen key
  • 追加信息到原始信息后部(原始信息不存在则新建):append key value
  • 设置数值数据增加指定范围的值(数据范围是long的范围)
    ①incr key
    ②incrby key increment
    ③incrbyfloat key increment
  • 设置数值数据减少指定范围的值
    ①decr key
    ②decrby key increment
  • 设置数据具有指定的生命周期(可用来解决一段时间只能操作一次的场景)
    ①setex key seconds value
    ②psetex key milliseconds value

hash数据类型

简介

hash类型是一个hashmap的数据类型,field部分不可重复,重复会覆盖原有数据。hash数据模型图

操作命令

  • 添加/修改数据:hset key field value
  • 添加/修改多个数据:hmset key field1 value1 field2 value2 …
  • 获取数据:
    ①hget key field
    ②hgetall key
  • 获取多个数据:hmget key field1 field2 …
  • 获取哈希表中字段的数量:hlen key
  • 获取哈希表中是否存在指定的字段:hexists key field
  • 获取哈希表中所有的字段名:hkeys key
  • 获取哈希表中所有的字段值:hvals key
  • 删除数据:hdel key field1 [field2]
  • 设置指定字段的数值数据增加指定范围的值:
    ①hincrby key field increment
    ②hincrbyfloat key field increment

注意事项

  • hash类型的value只能存储字符串,不存储其他类型,不存在子嵌套现象
  • 每个hash可以存储2的32次方减1个键值对

list数据类型

简介

list类型是一个字符串双向链表,可以在左右两端操作数据
list数据模型图

操作命令

  • 添加/修改数据:lpush key value1 [value2 ] …
  • 获取数据:
    ①lrange key start stop
    ②lindex key index
    ③len key
  • 获取并删除数据:
    ①lpop key
    ②rpop key
  • 在规定时间内获取并移除数据,若超过规定时间取不到数据则返回(nil):
    ①blpop key1 [key2] timeout
    ②brpop key2 [key2] timeout
  • 移除指定数据:lrem key count value

注意事项

  • list中保存的数据都是string类型的,最多存储2的32次方减1个元素

set数据类型

简介

set类型是一个集合(不排序,不重复),不仅可以操作集合的数据,还可以求多个集合的交、并、补集
set数据模型图

操作命令

  • 添加数据:sadd key member1 [member2]
  • 获取全部数据:smembers key
  • 删除数据:srem key member1 [member2]
  • 获取集合数据总量:scard key
  • 判断集合中是否包含指定数据:sismember key member
  • 随机获取集合中指定数量的数据:srandmember key [count]
  • 随机获取集合中的某个数据并将该数据移出集合:spop key
  • 求两个集合的交、并、差集:
    ①sinter key1 [key2]
    ②sunion key1 [key2]
    ③sdiff key1 [key2]
  • 求两个集合的交、并、差集并存储到指定集合中:
    ①sinterstore destination key1 [key2]
    ②sunionstore destination key1 [key2]
    ③sdiffstore destination key1 [key2]
  • 将指定数据从原始集合中移动到目标集合中:smove source destination member

注意事项

  • set类型不允许数据重复
  • set与hash的存储结构相同,但是无法启动hash中存储值的空间

sorted_set数据类型

简介

sorted_set是一个有序集合,在set的基础上给每个元素加一个分数,redis根据每个元素的分数进行排序

操作指令

  • 添加数据:zadd score1 member1 [score2 member2]
  • 获取全部数据:
    ①zrange key start stop [WITHSRORES]
    ②zrevrange key start stop [WITHSRORES]
  • 删除数据:zrem key member [member …]
  • 按条件获取数据:
    ①zrangebyscore key min max [WITHSRORES] [LIMIT]
    ②zrevrangebyscore key max min [WITHSRORES]
  • 条件删除数据:
    ①zremrangebyrank key start stop
    ②zremrangebyscore key min max
  • 获取集合数据总量:
    ①zcard key
    ②zcount key min max
  • 集合交并操作:
    ①zinterstore destination numkeys key [key …]
    ②zunionstore destination numkeys key [key …]
  • 获取数据对应的索引(排名):
    ①zrank key member
    ②zrevrank key member
  • score值获取与修改:
    ①zscore key member
    ②zincrby key increment member

注意事项

  • score保存的数据存储空间是64位
  • score保存的数据也可以是双精度double值
  • 数据不能重复,如果重复score则保留最后一次修改
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值