数据结构和应用

本文详细介绍了Redis中的数据结构,包括字符串的操作如SET、GET、GETSET等,哈希的HSET、HGET、HINCRBY等,列表的LPUSH、RPUSH、LPOP等,集合的SADD、SREM、SMEMBERS等,有序集合的ZADD、ZREM、ZSCORE等,以及HyperLogLog的计数功能和位图操作。此外,还涵盖了流(Stream)的数据操作,如XADD、XREADGROUP等。

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

字符串

  1. SET:为字符串设置值, 传[NX/XX]是否覆盖。
  2. GET:获取字符串的值。
  3. GETSET:获取旧值和新值。
  4. MSET:一次为多个字符串建设置值。
  5. MGET:一次性获取多个字符串键的值。
  6. MSETNX:只在键不存在的情况下,一次为多个字符串设置值。
  7. GETRANGE:获取字符串指定索引范围上的内容。
  8. SETRANGE:对字符串值的指定索引范围进行设置。
  9. APPEND:追加新内容到值的末尾。
  10. INCRBY、DECRBY:对整数值执行加法操作和减法操作。
  11. INCR、DECR:对整数值执行加1操作和减1操作。
  12. INCRBYFLOAT:对数字值执行浮点数加法操作。

哈希

  1. HSET:为字段设置值。

  2. HSETNX:只在字段不存在的情况下为它设置值。

  3. HGET:获取字段的值。

  4. HINCRBY:对字段存储的整数值执行加法或减法操作。

  5. HINCRBYFLOAT:对字段存储的数字值执行浮点数加法或减法操作。

  6. HSTRLEN:获取字段值的字节长度。

  7. HEXISTS:检查字段是否存在。

  8. HDEL:删除字段。

  9. HLEN:获取散列包含的字段数量。

  10. HMSET:一次为多个字段设置值。

  11. HMGET:一次获取多个字段的值。

  12. HKEYS、HVALS、HGETALL:获取所有字段、所有值、所有字段和值Redis为散列提供了HKEYS、HVALS和HGETALL这。

列表

  1. LPUSH:将元素推入列表左端。

  2. RPUSH:将元素推入列表右端。

  3. LPUSHX、RPUSHX:只对已存在的列表执行推入操作。

  4. LPOP:弹出列表最左端的元素。

  5. RPOP:弹出列表最右端的元素。

  6. RPOPLPUSH:将右端弹出的元素推入左端,将一个列表的右端元素弹出插入另一个列表左端

  7. LLEN:获取列表的长度。

  8. LINDEX:获取指定索引上的元素。

  9. LRANGE:获取指定索引范围上的元素。

  10. LSET:为指定索引设置新元素。

  11. LINSERT:将元素插入列表。

  12. LTRIM:修剪列表。

  13. LREM:从列表中移除指定元素。

  14. BLPOP:阻塞式左端弹出操作。

  15. BRPOP:阻塞式右端弹出操作。

  16. BRPOPLPUSH:阻塞式弹出并推入操作。

集合

  1. SADD:将元素添加到集合。
  2. SREM:从集合中移除元素。
  3. SMOVE:将元素从一个集合移动到另一个集合。
  4. SMEMBERS:获取集合包含的所有元素。
  5. SCARD:获取集合包含的元素数量。
  6. SISMEMBER:检查给定元素是否存在于集合。
  7. SRANDMEMBER:随机获取集合中的元素。
  8. SPOP:随机地从集合中移除指定数量的元素。
  9. SINTER、SINTERSTORE:对集合执行交集计算,并将计算结果存储到另一个集合。
  10. SUNION、SUNIONSTORE:对集合执行并集计算。
  11. SDIFF、SDIFFSTORE:对集合执行差集计算。

有序集合

  1. ZADD:添加或更新成员,传[XX/NX]可用来选择是只对集合已有的成员进行更新还是只添加新成员;传[CH]可用来返回被修改成员的数量。
  2. ZREM:移除指定的成员。
  3. ZSCORE:获取成员的分值。
  4. ZINCRBY:对成员的分值执行自增或自减操作,当成员不存在,该命令直接将成员添加到集合中并设置为其初始值。
  5. ZCARD:获取有序集合的大小。
  6. ZRANK、ZREVRANK:获取成员在有序集合中的排名。
  7. ZRANGE、ZREVRANGE:获取指定索引范围内的成员;[WITHSCORES],加上该选项可返回成员相关联分值。
  8. ZRANGEBYSCORE、ZREVRANGEBYSCORE:获取指定分值范围内的成员;[WITHSCORES],加上该选项可返回成员相关联分值;[LIMIT offset count],限制命令返回的成员数量。
  9. ZCOUNT:统计指定分值范围内的成员数量。
  10. ZREMRANGEBYRANK:移除指定排名范围内的成员。
  11. ZUNIONSTORE、ZINTERSTORE:有序集合的并集运算和交集运算;[AGGREGATE SUM|MIN|MAX],指定聚合函数。
  12. ZRANGEBYLEX、ZREVRANGEBYLEX:返回指定字典序范围内的成员。
  13. ZLEXCOUNT:统计位于字典序指定范围内的成员数量。
  14. ZREMRANGEBYLEX:移除位于字典序指定范围内的成员。
  15. ZPOPMAX、ZPOPMIN:弹出分值最高和最低的成员。
  16. BZPOPMAX、BZPOPMIN:阻塞式最大/最小元素弹出操作。

HyperLogLog

  1. PFADD:对集合元素进行计数。
  2. PFCOUNT:返回集合的近似基数
  3. PFMERGE:计算多个HyperLogLog的并集

位图

  1. SETBIT:设置二进制位的值,语法:SETBIT bitmap offset value。
  2. GETBIT:获取二进制位的值,语法:GETBIT bitmap offset。
  3. BITCOUNT:统计被设置的二进制位数量,语法:BITCOUNT bitmap [start end]。
  4. BITPOS:查找第一个指定的二进制位值,语法:BITPOS bitmap value [start end]。
  5. BITOP:执行二进制位运算,语法:BITOP operation result_key bitmap [bitmap …]。
  6. BITFIELD:在位图中存储整数值,根据偏移量对区域进行设置:BITFIELD bitmap SET type offset value;根据索引对区域进行设置:BITFIELD bitmap SET type #index value;执行加法操作或减法操作:BITFIELD bitmap INCRBY type offset increment,BITFIELD bitmap INCRBY type #index increment;处理溢出:BITFIELD bitmap […] OVERFLOW WRAP|SAT|FAIL […]。
  7. 因为Redis的位图是在字符串的基础上实现的,可使用字符串命令对位图进行操作

  1. XADD:追加新元素到流的末尾,语法:XADD stream id field value [field value …]。
  2. XTRIM:对流进行修剪,语法: XTRIM stream MAXLEN len。
  3. XDEL:移除指定元素,语法:XDEL stream [id id … id]。
  4. XLEN:获取流包含的元素数量,语法:XLEN stream。
  5. XRANGE、XREVRANGE:访问流中元素,语法:XRANGE stream start-id end-id [COUNT n];XREVRANGE是逆序版本的XRANGE。
  6. XREAD:以阻塞或非阻塞方式获取流元素,语法: XREAD [BLOCK ms] [COUNT n] STREAMS stream1 stream2 stream3 … id1 id2 id3 …
  7. XGROUP:管理消费者组。创建消费者组,语法: XGROUP CREATE stream group id;修改消费者组的最后递送消息ID,语法: XGROUP SETID stream group id; 删除消费者,语法: XGROUP DELCONSUMER stream group consumer;删除消费者组,语法:XGROUP DESTROY stream group。
  8. XREADGROUP:读取消费者组中的消息,语法: XREADGROUP GROUP group consumer [COUNT n] [BLOCK ms] STREAMS stream [stream …] id [id …]。
  9. XPENDING:显示待处理消息的相关信息,语法: XPENDING stream group [start stop count] [consumer]。
  10. XACK:将消息标记为“已处理”,语法:XACK stream group id [id id …]。
  11. XCLAIM:转移消息的归属权,语法:XCLAIM stream group new_consumer max_pending_time id [id id …]。
  12. XINFO:查看流和消费者组的相关信息。打印消费者信息,语法: XINFO CONSUMERS stream group-name;打印消费者组信息,语法: XINFO GROUPS stream;打印流消息,语法:XINFO STREAM stream。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zhixuChen200

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值