redis支持的数据类型

本文介绍了Redis支持的五种数据类型:String、Hash、List、Set和Sorted Set,详细讲解了每种类型的常用操作,如String的set、get、append等,Hash的hset、hgetall,List的lpush、lrange,Set的sadd、sismember,以及Sorted Set的zadd、zrange等。这些数据类型和操作在实际应用中有着广泛的应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

redis数据类型

更多的方法和数据类型知识可以到以下两个其中任意一个链接查看

http://www.redis.net.cn/order/

http://redisdoc.com/

  1. 字符串 String
  2. 哈希表 hash
  3. 列表 list
  4. 集合 set
  5. 有序集合 sorted set等

1.String字符串类型–value为字符串类型

  • set key value 对不存在的键进行设置
  • setnx key value 将指定的value存放到对应的key上,若对应的key已经存在,返回0;若不存在,存储成功,返回1
  • exists key 判断key是否存在 不存在返回0 存在返回1
  • expire key seconds 给已存在的key设置生存时间
  • setex key seconds value 给该key设置存活时间seconds秒 可以给key设置的值的同时设置过期时间是一个原子操作,当seconds参数不合法是,命令返回一个错误代码提示
  • ttl key 查询key的剩余生存时间
  • psetex key milliseconds Value 已毫秒为单位给key设置生存时间
  • pttl key 查询以毫秒为单位的key的剩余生存时间
  • get key 根据键获取对应的value
  • getset key Value 将键key的值设置value 如果没有旧值,返回nil(空),如果有旧值,就返回旧值
  • strlen key 返回键key储存的字符串值的长度,不存在的键,长度为0
  • append key value 给已存在的键key对应的值追加value,返回键key的长度,如果给不存在的key进行追加,等同于给不存在的键进行设置,如果存在那么就给此key追加返回键key的长度
  • setrange key offset value 从偏移量offset开始,用value参数覆盖键key所存储的字符串的值。如果对不存在的键key执行此方法,那么空白处就用“\x00”填充
  • getrange key start end 返回键key存储的字符串值的指定部分
    例:getrange k4 0 -1 :从第一个到最后一个
    getrange k4 -1 -5 :不支持回绕操作
    getrange k4 0 12312:值域范围不超过实际字符串,超过部分自动被省略
  • incr key 为键key存储的数字值加1,如果key不存在那么值就会先被初始化为0,然后再执行命令,返回的是执行incr操作后产生的值,是针对字符串的操作
    incrby key increment:为键key储存的数字值加上增量increment,如果键key不存在会先被初始化为0,在执行incrby命令;如果存储的值不能被解释为数字,那么会返回一个错误
    del key:根据键删除对应的value

2.Hash类型

  • hset key field value: 存放一个指定key的field-value的数据库
  • hset key field:获取指定key的field字段对应的value值。
  • hkeys key: 获取指定key的所有field字段名
  • hvals key: 获取指定key的所有value值。
  • hgetall key: 获取指定key的所有的field和value值。
  • HDEL key field: 删除指定key的field字段

3.list队列类型(可存入重复数据)

  • lpush key value[value…]:将一个或多个值value插入到列表key的表头
  • lrange key start stop:返回列表key中指定区间内的元素,区间以偏移量start和stop指定
  • lpop key [count]:移除并返回列表key的头元素
  • llen key:返回列表key的长度,如果key不是一个列表类型,返回一个错误;如果key不存在,则key被解释为一个空列表,返回0
  • lpushx key value:将值value插入到列表key的表头;对于空列表执行lpushx,返回0,因为列表为空

4.set集合(不可存入重复数据)

  • sadd key value :将一个或多个member元素加入到集合key中

  • sismember key member:判断key中是否存在member元素,如果包含返回1,若不包含,返回0

  • smembers key:查询集合中key的所有成员

  • spop key:移除并返回集合中的一个随机元素

  • srandmember key [count]:如果命令执行时,只提供了 key 参数,那么返回集合中的一个随机元素。

    从 Redis 2.6 版本开始, [SRANDMEMBER]命令接受可选的 count 参数:

    • 如果 count 为正数,且小于集合基数,那么命令返回一个包含 count 个元素的数组,数组中的元素各不相同。如果 count 大于等于集合基数,那么返回整个集合。
    • 如果 count 为负数,那么命令返回一个数组,数组中的元素可能会重复出现多次,而数组的长度为 count 的绝对值。
  • smove source destination member:将member元素从source集合移动到destination

  • sinter key[key…]:返回一个集合的全部成员,是所有给定集合的交集

  • sunion key[key…]:返回一个集合的全部成员,是所有给定集合的并集

  • sdiff key[key…]:返回一个集合的全部成员,是所有给定集合的差集

5.有序集合(sorted set)

应用场景:排行榜

  • zadd key score member【【score member】【score member】…】:将一个或多个member元素及其score值加入到有序集key当中。

    如果某个 member 已经是有序集的成员,那么更新这个 memberscore 值,并通过重新插入这个 member 元素,来保证该 member 在正确的位置上。

  • zrange key start stop [withscores]:返回有序集key中,指定的区间内成员,成员位置按照score值递增从小到大来排序

  • zrevrange key start stop [withscores]:返回有序集key中,指定的区间内成员,成员位置按照score值递增从大到小排序

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值