分布式专题-Redis核心数据结构精讲

  1. redis安装:

redis.conf是redis启动配置文件;

redis连接:

数据类型:

redis命令:

String类型:

INCRBY orderId 1000 是 Redis 数据库中的一个命令,用于将存储在键 orderId 中的整数值增加 1000。以下是该命令的详细解释:

  • INCRBY: 这是 Redis 的一个命令,表示 "Increment By",即按指定值增加。
  • orderId: 这是要操作的键,它必须已经存在于 Redis 中,并且其值是一个整数或可以转换为整数的值。
  • 1000: 这是要增加的值,即增量。

具体来说,这个命令会将键 orderId 对应的当前值增加 1000。如果 orderId 当前存储的值是 5000,执行这个命令后,orderId 的值将变为 6000。

INCRBY orderId 1000

假设 orderId 当前的值是 2500,那么执行上述命令后,orderId 的值将变为 3500。

总结来说,INCRBY orderId 1000 命令用于对键 orderId 的值进行增加操作,每次调用都会将该键的值增加 1000。这在需要生成唯一订单号或其他类似场景中非常有用。

Hash类型:

常用场景:

List操作:

BRPOP key timeout 是 Redis 数据库中的一个命令,用于从指定的列表(list)中弹出(移除并返回)最后一个元素。如果列表为空,命令会阻塞直到有元素被推入列表或超时。以下是该命令的详细解释:

  • BRPOP: 这是 Redis 的一个命令,表示 "Blocking Remove from List",即从列表中阻塞地移除元素。
  • key: 这是要操作的键,它必须是一个列表类型的键。
  • timeout: 这是阻塞等待的时间(以毫秒为单位)。如果在指定时间内没有元素被推入列表,命令将返回 nil 并解除阻塞。

具体来说,这个命令会从指定的列表中弹出最后一个元素,并在列表为空时阻塞等待,直到有新元素被添加到列表或达到超时时间。

例如:

BRPOP mylist 5000

这个命令会从名为 mylist 的列表中弹出最后一个元素。如果 mylist 为空,命令将阻塞等待最多 5000 毫秒(5 秒),直到有新元素被添加到 mylist 或超时。

如果 mylist 当前包含元素 1, 2, 3,执行上述命令后,返回的值将是 3,并且 mylist 将变为 1, 2。

如果 mylist 为空,并且在 5000 毫秒内没有新元素被添加,命令将返回 nil。

总结来说,BRPOP key timeout 命令用于从指定的列表中阻塞地移除最后一个元素,适用于需要等待某个事件发生的场景,比如消息队列的消费者。

常用场景:

set:

差集:以第一个集合作为基准。

像这种搜索的话,怎么往里加呢?redis中一个list,一个key,多个结果;

zset:

Redis真的是单线程吗?

其他高级命令:

相关推荐
IT规划师41 分钟前
Redis 数据类型全解 - Bitfield:99% 开发者没用过的位域操作,把内存再砍 80%(七)
redis·bitfield·位域
Decay__9 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
java_logo9 小时前
Docker 部署 Liquibase:轻松搭建数据库变更管理
数据库·docker·容器·数据库管理·liquibase·轩辕镜像·数据库变更
凤凰院凶涛QAQ10 小时前
《MySQL内核拆解:从SQL到InnoDB》(四) : 联合查询 & 视图
数据库·sql·mysql
码农小河6610 小时前
基于SSM+JSP的高校专业信息管理系统【附源码+数据库】
java·开发语言·数据库
张小姐的猫10 小时前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
这个DBA有点耶14 小时前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
多客:duokelijie15 小时前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署