Redis 基本指令与命令详解

前言

Redis(Remote Dictionary Server)是一个开源的、基于内存的高性能键值对数据库。它支持多种数据结构,包括字符串、哈希、列表、集合、有序集合等。本文将详细介绍 Redis 的基本指令和命令,帮助读者全面掌握 Redis 的使用方法。


一、连接与服务器相关命令

1.1 连接 Redis

bash 复制代码
# 连接本地 Redis 服务器
redis-cli

# 连接远程 Redis 服务器
redis-cli -h <host> -p <port>

# 带密码连接
redis-cli -h <host> -p <port> -a <password>

# 连接后进行密码认证
AUTH <password>

1.2 服务器信息命令

bash 复制代码
# 查看服务器信息
INFO

# 查看特定部分的信息
INFO server
INFO clients
INFO memory
INFO stats
INFO replication
INFO cpu
INFO keyspace

# 查看当前数据库中键的数量
DBSIZE

# 查看服务器时间
TIME

# 查看客户端连接列表
CLIENT LIST

# 获取当前客户端名称
CLIENT GETNAME

# 设置当前客户端名称
CLIENT SETNAME <name>

# 关闭客户端连接
CLIENT KILL <ip:port>

# 查看配置
CONFIG GET <parameter>
CONFIG GET *

# 设置配置
CONFIG SET <parameter> <value>

# 重写配置文件
CONFIG REWRITE

# 重置统计信息
CONFIG RESETSTAT

1.3 数据库操作

bash 复制代码
# 选择数据库(默认16个数据库,编号0-15)
SELECT <index>

# 清空当前数据库
FLUSHDB

# 清空所有数据库
FLUSHALL

# 同步保存数据到磁盘
SAVE

# 异步保存数据到磁盘
BGSAVE

# 返回最近一次成功保存的时间戳
LASTSAVE

# 关闭服务器
SHUTDOWN
SHUTDOWN SAVE
SHUTDOWN NOSAVE

二、键(Key)操作命令

2.1 基本键操作

bash 复制代码
# 查看所有键(生产环境慎用)
KEYS *

# 使用模式匹配查看键
KEYS pattern*
KEYS *pattern
KEYS ?ey
KEYS [abc]*

# 检查键是否存在
EXISTS <key>
EXISTS <key1> <key2> <key3>  # 返回存在的键数量

# 删除键
DEL <key>
DEL <key1> <key2> <key3>

# 异步删除键(非阻塞)
UNLINK <key>

# 获取键的类型
TYPE <key>

# 重命名键
RENAME <key> <newkey>

# 仅当新键不存在时重命名
RENAMENX <key> <newkey>

# 随机返回一个键
RANDOMKEY

# 序列化键的值
DUMP <key>

# 反序列化并恢复键值
RESTORE <key> <ttl> <serialized-value>

2.2 键的过期时间

bash 复制代码
# 设置过期时间(秒)
EXPIRE <key> <seconds>

# 设置过期时间(毫秒)
PEXPIRE <key> <milliseconds>

# 设置过期时间点(Unix时间戳,秒)
EXPIREAT <key> <timestamp>

# 设置过期时间点(Unix时间戳,毫秒)
PEXPIREAT <key> <milliseconds-timestamp>

# 查看剩余生存时间(秒)
TTL <key>
# 返回值:-1 表示永不过期,-2 表示键不存在

# 查看剩余生存时间(毫秒)
PTTL <key>

# 移除过期时间,使键永久有效
PERSIST <key>

2.3 键的迁移与复制

bash 复制代码
# 将键移动到另一个数据库
MOVE <key> <db>

# 将键复制到另一个 Redis 实例
MIGRATE <host> <port> <key> <destination-db> <timeout> [COPY] [REPLACE]

# 复制键(Redis 6.2+)
COPY <source> <destination> [DB destination-db] [REPLACE]

2.4 SCAN 命令(推荐用于生产环境)

bash 复制代码
# 增量迭代键
SCAN <cursor> [MATCH pattern] [COUNT count] [TYPE type]

# 示例
SCAN 0 MATCH user:* COUNT 100
SCAN 0 TYPE string

三、字符串(String)命令

3.1 基本操作

bash 复制代码
# 设置键值
SET <key> <value>

# 设置键值并指定过期时间(秒)
SET <key> <value> EX <seconds>
SETEX <key> <seconds> <value>

# 设置键值并指定过期时间(毫秒)
SET <key> <value> PX <milliseconds>
PSETEX <key> <milliseconds> <value>

# 仅当键不存在时设置
SET <key> <value> NX
SETNX <key> <value>

# 仅当键存在时设置
SET <key> <value> XX

# 设置值并返回旧值
GETSET <key> <value>  # 已废弃
SET <key> <value> GET  # Redis 6.2+

# 获取值
GET <key>

# 获取值的子字符串
GETRANGE <key> <start> <end>

# 覆盖字符串的一部分
SETRANGE <key> <offset> <value>

# 获取字符串长度
STRLEN <key>

# 追加值到字符串末尾
APPEND <key> <value>

3.2 批量操作

bash 复制代码
# 批量设置
MSET <key1> <value1> <key2> <value2> ...

# 批量设置(仅当所有键都不存在时)
MSETNX <key1> <value1> <key2> <value2> ...

# 批量获取
MGET <key1> <key2> <key3> ...

3.3 数值操作

bash 复制代码
#增1
INCR <key>

# 自增指定整数
INCRBY <key> <increment>

# 自增指定浮点数
INCRBYFLOAT <key> <increment>

# 自减1
DECR <key>

# 自减指定整数
DECRBY <key> <decrement>

3.4 位操作

bash 复制代码
# 设置指定位的值
SETBIT <key> <offset> <value>

# 获取指定位的值
GETBIT <key> <offset>

# 统计被设置为1的位数
BITCOUNT <key> [start end]

# 位运算
BITOP <operation> <destkey> <key1> <key2> ...
# operation: AND, OR, XOR, NOT

# 查找第一个设置为指定值的位
BITPOS <key> <bit> [start] [end]

# 位域操作
BITFIELD <key> [GET type offset] [SET type offset value] [INCRBY type offset increment]

四、哈希(Hash)命令

4.1 基本操作

bash 复制代码
# 设置单个字段
HSET <key> <field> <value>

# 设置多个字段
HSET <key> <field1> <value1> <field2> <value2> ...
HMSET <key> <field1> <value1> <field2> <value2> ...  # 已废弃,使用 HSET

# 仅当字段不存在时设置
HSETNX <key> <field> <value>

# 获取单个字段值
HGET <key> <field>

# 获取多个字段值
HMGET <key> <field1> <field2> ...

# 获取所有字段和值
HGETALL <key>

# 获取所有字段名
HKEYS <key>

# 获取所有字段值
HVALS <key>

# 获取字段数量
HLEN <key>

# 检查字段是否存在
HEXISTS <key> <field>

# 删除字段
HDEL <key> <field1> <field2> ...

# 获取字段值的字符串长度
HSTRLEN <key> <field>

4.2 数值操作

bash 复制代码
# 字段值自增整数
HINCRBY <key> <field> <increment>

# 字段值自增浮点数
HINCRBYFLOAT <key> <field> <increment>

4.3 迭代操作

bash 复制代码
# 增量迭代哈希字段
HSCAN <key> <cursor> [MATCH pattern] [COUNT count]

4.4 随机操作(Redis 6.2+)

bash 复制代码
# 随机返回字段
HRANDFIELD <key> [count [WITHVALUES]]

五、列表(List)命令

5.1 插入操作

bash 复制代码
# 从左侧插入
LPUSH <key> <value1> <value2> ...

# 从右侧插入
RPUSH <key> <value1> <value2> ...

# 仅当列表存在时从左侧插入
LPUSHX <key> <value>

# 仅当列表存在时从右侧插入
RPUSHX <key> <value>

# 在指定元素前/后插入
LINSERT <key> BEFORE|AFTER <pivot> <value>

# 设置指定索引的值
LSET <key> <index> <value>

5.2 获取操作

bash 复制代码
# 获取指定索引的元素
LINDEX <key> <index>

# 获取指定范围的元素
LRANGE <key> <start> <stop>
# 获取所有元素
LRANGE <key> 0 -1

# 获取列表长度
LLEN <key>

5.3 删除操作

bash 复制代码
# 从左侧弹出
LPOP <key>
LPOP <key> <count>  # Redis 6.2+

# 从右侧弹出
RPOP <key>
RPOP <key> <count>  # Redis 6.2+

# 删除指定数量的元素
LREM <key> <count> <value>
# count > 0: 从头到尾删除
# count < 0: 从尾到头删除
# count = 0: 删除所有匹配元素

# 保留指定范围的元素
LTRIM <key> <start> <stop>

5.4 阻塞操作

bash 复制代码
# 阻塞式左侧弹出
BLPOP <key1> <key2> ... <timeout>

# 阻塞式右侧弹出
BRPOP <key1> <key2> ... <timeout>

# 阻塞式弹出并推入另一个列表
BRPOPLPUSH <source> <destination> <timeout>  # 已废弃
BLMOVE <source> <destination> LEFT|RIGHT LEFT|RIGHT <timeout>  # Redis 6.2+

5.5 移动操作

bash 复制代码
# 从一个列表弹出并推入另一个列表
RPOPLPUSH <source> <destination>  # 已废弃
LMOVE <source> <destination> LEFT|RIGHT LEFT|RIGHT  # Redis 6.2+

# 获取指定位置的元素(Redis 6.2+)
LPOS <key> <element> [RANK rank] [COUNT num-matches] [MAXLEN len]

六、集合(Set)命令

6.1 基本操作

bash 复制代码
# 添加成员
SADD <key> <member1> <member2> ...

# 获取所有成员
SMEMBERS <key>

# 检查成员是否存在
SISMEMBER <key> <member>

# 检查多个成员是否存在(Redis 6.2+)
SMISMEMBER <key> <member1> <member2> ...

# 获取成员数量
SCARD <key>

# 删除成员
SREM <key> <member1> <member2> ...

# 随机弹出成员
SPOP <key>
SPOP <key> <count>

# 随机获取成员(不删除)
SRANDMEMBER <key>
SRANDMEMBER <key> <count>

# 移动成员到另一个集合
SMOVE <source> <destination> <member>

6.2 集合运算

bash 复制代码
# 交集
SINTER <key1> <key2> ...

# 交集并存储
SINTERSTORE <destination> <key1> <key2> ...

# 交集的基数(Redis 7.0+)
SINTERCARD <numkeys> <key1> <key2> ... [LIMIT limit]

# 并集
SUNION <key1> <key2> ...

# 并集并存储
SUNIONSTORE <destination> <key1> <key2> ...

# 差集
SDIFF <key1> <key2> ...

# 差集并存储
SDIFFSTORE <destination> <key1> <key2> ...

6.3 迭代操作

bash 复制代码
# 增量迭代集合成员
SSCAN <key> <cursor> [MATCH pattern] [COUNT count]

七、有序集合(Sorted Set)命令

7.1 基本操作

bash 复制代码
# 添加成员
ZADD <key> <score1> <member1> <score2> <member2> ...

# 添加选项
ZADD <key> [NX|XX] [GT|LT] [CH] [INCR] <score> <member>
# NX: 仅添加新成员
# XX: 仅更新已存在的成员
# GT: 仅当新分数大于当前分数时更新
# LT: 仅当新分数小于当前分数时更新
# CH: 返回被修改的成员数量
# INCR: 类似 ZINCRBY

# 获取成员分数
ZSCORE <key> <member>

# 获取多个成员分数(Redis 6.2+)
ZMSCORE <key> <member1> <member2> ...

# 获取成员数量
ZCARD <key>

# 获取指定分数范围内的成员数量
ZCOUNT <key> <min> <max>

# 获取指定字典范围内的成员数量
ZLEXCOUNT <key> <min> <max>

# 增加成员分数
ZINCRBY <key> <increment> <member>

# 删除成员
ZREM <key> <member1> <member2> ...

# 删除指定排名范围的成员
ZREMRANGEBYRANK <key> <start> <stop>

# 删除指定分数范围的成员
ZREMRANGEBYSCORE <key> <min> <max>

# 删除指定字典范围的成员
ZREMRANGEBYLEX <key> <min> <max>

7.2 范围查询

bash 复制代码
# 按排名获取成员(升序)
ZRANGE <key> <start> <stop> [WITHSCORES]

# 按排名获取成员(降序)
ZREVRANGE <key> <start> <stop> [WITHSCORES]

# 按分数获取成员(升序)
ZRANGEBYSCORE <key> <min> <max> [WITHSCORES] [LIMIT offset count]

# 按分数获取成员(降序)
ZREVRANGEBYSCORE <key> <max> <min> [WITHSCORES] [LIMIT offset count]

# 按字典序获取成员
ZRANGEBYLEX <key> <min> <max> [LIMIT offset count]
ZREVRANGEBYLEX <key> <max> <min> [LIMIT offset count]

# 统一的范围查询命令(Redis 6.2+)
ZRANGE <key> <start> <stop> [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]

7.3 排名查询

bash 复制代码
# 获取成员排名(升序,从0开始)
ZRANK <key> <member>

# 获取成员排名(降序)
ZREVRANK <key> <member>

7.4 集合运算

bash 复制代码
# 交集并存储
ZINTERSTORE <destination> <numkeys> <key1> <key2> ... [WEIGHTS weight1 weight2 ...] [AGGREGATE SUM|MIN|MAX]

# 并集并存储
ZUNIONSTORE <destination> <numkeys> <key1> <key2> ... [WEIGHTS weight1 weight2 ...] [AGGREGATE SUM|MIN|MAX]

# 差集并存储(Redis 6.2+)
ZDIFFSTORE <destination> <numkeys> <key1> <key2> ...

# 交集(Redis 6.2+)
ZINTER <numkeys> <key1> <key2> ... [WEIGHTS weight1 weight2 ...] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]

# 并集(Redis 6.2+)
ZUNION <numkeys> <key1> <key2> ... [WEIGHTS weight1 weight2 ...] [AGGREGATE SUM|MIN|MAX] [WITHSCORES]

# 差集(Redis 6.2+)
ZDIFF <numkeys> <key1> <key2> ... [WITHSCORES]

7.5 弹出操作

bash 复制代码
# 弹出最小分数的成员
ZPOPMIN <key> [count]

# 弹出最大分数的成员
ZPOPMAX <key> [count]

# 阻塞式弹出最小分数的成员
BZPOPMIN <key1> <key2> ... <timeout>

# 阻塞式弹出最大分数的成员
BZPOPMAX <key1> <key2> ... <timeout>

# 随机获取成员(Redis 6.2+)
ZRANDMEMBER <key> [count [WITHSCORES]]

7.6 迭代操作

bash 复制代码
# 增量迭代有序集合成员
ZSCAN <key> <cursor> [MATCH pattern] [COUNT count]

八、HyperLogLog 命令

HyperLogLog 是一种用于基数统计的概率数据结构,可以用极小的内存统计大量数据的不重复元素数量。

bash 复制代码
# 添加元素
PFADD <key> <element1> <element2> ...

# 获取基数估算值
PFCOUNT <key1> <key2> ...

# 合并多个 HyperLogLog
PFMERGE <destkey> <sourcekey1> <sourcekey2> ...

九、地理位置(Geo)命令

bash 复制代码
# 添加地理位置
GEOADD <key> <longitude1> <latitude1> <member1> <longitude2> <latitude2> <member2> ...

# 获取位置坐标
GEOPOS <key> <member1> <member2> ...

# 计算两点距离
GEODIST <key> <member1> <member2> [m|km|ft|mi]

# 获取位置的 Geohash
GEOHASH <key> <member1> <member2> ...

# 查询指定范围内的成员
GEORADIUS <key> <longitude> <latitude> <radius> <m|km|ft|mi> [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]

# 查询指定成员范围内的其他成员
GEORADIUSBYMEMBER <key> <member> <radius> <m|km|ft|mi> [WITHCOORD] [WITHDIST] [WITHHASH] [COUNT count] [ASC|DESC] [STORE key] [STOREDIST key]

# 统一的地理搜索命令(Redis 6.2+)
GEOSEARCH <key> FROMMEMBER <member>|FROMLONLAT <longitude> <latitude> BYRADIUS <radius> <m|km|ft|mi>|BYBOX <width> <height> <m|km|ft|mi> [ASC|DESC] [COUNT count [ANY]] [WITHCOORD] [WITHDIST] [WITHHASH]

# 地理搜索并存储(Redis 6.2+)
GEOSEARCHSTORE <destination> <source> FROMMEMBER <member>|FROMLONLAT <longitude> <latitude> BYRADIUS <radius> <m|km|ft|mi>|BYBOX <width> <height> <m|km|ft|mi> [ASC|DESC] [COUNT count [ANY]] [STOREDIST]

十、Stream 命令

Stream 是 Redis 5.0 引入的数据结构,用于消息队列场景。

10.1 基本操作

bash 复制代码
# 添加消息
XADD <key> <ID|*> <field1> <value1> <field2> <value2> ...
# * 表示自动生成 ID

# 添加消息(带选项)
XADD <key> [NOMKSTREAM] [MAXLEN|MINID [=|~] threshold [LIMIT count]] <ID|*> <field> <value> ...

# 获取消息数量
XLEN <key>

# 获取 Stream 信息
XINFO STREAM <key> [FULL [COUNT count]]
XINFO GROUPS <key>
XINFO CONSUMERS <key> <groupname>

# 删除消息
XDEL <key> <ID1> <ID2> ...

# 裁剪 Stream
XTRIM <key> MAXLEN|MINID [=|~] <threshold> [LIMIT count]

10.2 读取消息

bash 复制代码
# 读取消息
XREAD [COUNT count] [BLOCK milliseconds] STREAMS <key1> <key2> ... <ID1> <ID2> ...

# 范围读取
XRANGE <key> <start> <end> [COUNT count]
XREVRANGE <key> <end> <start> [COUNT count]

10.3 消费者组

bash 复制代码
# 创建消费者组
XGROUP CREATE <key> <groupname> <ID|$> [MKSTREAM] [ENTRIESREAD entries_read]

# 销毁消费者组
XGROUP DESTROY <key> <groupname>

# 设置消费者组的最后递送 ID
XGROUP SETID <key> <groupname> <ID|$> [ENTRIESREAD entries_read]

# 删除消费者
XGROUP DELCONSUMER <key> <groupname> <consumername>

# 从消费者组读取消息
XREADGROUP GROUP <groupname> <consumername> [COUNT count] [BLOCK milliseconds] [NOACK] STREAMS <key1> <key2> ... <ID1> <ID2> ...

# 确认消息
XACK <key> <groupname> <ID1> <ID2> ...

# 查看待处理消息
XPENDING <key> <groupname> [[IDLE min-idle-time] <start> <end> <count> [consumer]]

# 转移消息所有权
XCLAIM <key> <groupname> <consumername> <min-idle-time> <ID1> <ID2> ... [IDLE ms] [TIME ms-unix-time] [RETRYCOUNT count] [FORCE] [JUSTID]

# 自 <groupname> <consumername> <min-idle-time> <start> [COUNT count] [JUSTID]

十一、发布订阅(Pub/Sub)命令

bash 复制代码
# 订阅频道
SUBSCRIBE <channel1> <channel2> ...

# 订阅模式
PSUBSCRIBE <pattern1> <pattern2> ...

# 取消订阅
UNSUBSCRIBE [channel1 channel2 ...]

# 取消模式订阅
PUNSUBSCRIBE [pattern1 pattern2 ...]

# 发布消息
PUBLISH <channel> <message>

# 查看订阅信息
PUBSUB CHANNELS [pattern]
PUBSUB NUMSUB [channel1 channel2 ...]
PUBSUB NUMPAT

十二、事务命令

bash 复制代码
# 开始事务
MULTI

# 执行事务
EXEC

# 取消事务
DISCARD

# 监视键(乐观锁)
WATCH <key1> <key2> ...

# 取消监视
UNWATCH

事务示例

bash 复制代码
WATCH balance
MULTI
DECRBY balance 100
INCRBY savings 100
EXEC

十三、脚本命令

13.1 Lua 脚本

bash 复制代码
# 执行 Lua 脚本
EVAL <script> <numkeys> <key1> <key2> ... <arg1> <arg2> ...

# 执行已缓存的脚本
EVALSHA <sha1> <numkeys> <key1> <key2> ... <arg1> <arg2> ...

# 加载脚本到缓存
SCRIPT LOAD <script>

# 检查脚本是否存在
SCRIPT EXISTS <sha1> <sha2> ...

# 清空脚本缓存
SCRIPT FLUSH [ASYNC|SYNC]

# 终止正在执行的脚本
SCRIPT KILL

# 调试脚本
SCRIPT DEBUG YES|SYNC|NO

13.2 函数(Redis 7.0+)

bash 复制代码
# 加载函数库
FUNCTION LOAD <engine> <library-name> [REPLACE] [DESCRIPTION description] <function-code>

# 调用函数
FCALL <function> <numkeys> <key1> <key2> ... <arg1> <arg2> ...
FCALL_RO <function> <numkeys> <key1> <key2> ... <arg1> <arg2> ...

# 列出函数
FUNCTION LIST [LIBRARYNAME library-name-pattern] [WITHCODE]

# 删除函数库
FUNCTION DELETE <library-name>

# 清空所有函数
FUNCTION FLUSH [ASYNC|SYNC]

# 导出函数
FUNCTION DUMP

# 导入函数
FUNCTION RESTORE <serialized-value> [FLUSH|APPEND|REPLACE]

十四、持久化相关命令

bash 复制代码
# 同步保存 RDB 快照
SAVE

# 异步保存 RDB 快照
BGSAVE

# 异步重写 AOF 文件
BGREWRITEAOF

# 查看最后一次保存时间
LASTSAVE

# 调试:模拟崩溃
DEBUG SEGFAULT

# 调试:休眠
DEBUG SLEEP <seconds>

十五、复制相关命令

bash 复制代码
# 设置为从节点
REPLICAOF <host> <port>
SLAVEOF <host> <port>  # 已废弃

# 取消复制,成为主节点
REPLICAOF NO ONE
SLAVEOF NO ONE  # 已废弃

# 查看复制信息
INFO replication

# 等待从节点同步
WAIT <numreplicas> <timeout>

十六、集群相关命令

bash 复制代码
# 查看集群信息
CLUSTER INFO

# 查看集群节点
CLUSTER NODES

# 查看槽位分配
CLUSTER SLOTS

# 查看键所属的槽位
CLUSTER KEYSLOT <key>

# 查看槽位中的键数量
CLUSTER COUNTKEYSINSLOT <slot>

# 获取槽位中的键
CLUSTER GETKEYSINSLOT <slot> <count>

# 添加节点
CLUSTER MEET <ip> <port>

# 分配槽位
CLUSTER ADDSLOTS <slot1> <slot2> ...

# 删除槽位
CLUSTER DELSLOTS <slot1> <slot2> ...

# 设置节点为从节点
CLUSTER REPLICATE <node-id>

# 故障转移
CLUSTER FAILOVER [FORCE|TAKEOVER]

# 重置集群
CLUSTER RESET [HARD|SOFT]

# 设置配置纪元
CLUSTER SET-CONFIG-EPOCH <config-epoch>

# 忘记节点
CLUSTER FORGET <node-id>

# 保存集群配置
CLUSTER SAVECONFIG

十七、慢查询日志

bash 复制代码
# 获取慢查询日志
SLOWLOG GET [count]

# 获取慢查询日志长度
SLOWLOG LEN

# 重置慢查询日志
SLOWLOG RESET

# 配置慢查询阈值(微秒)
CONFIG SET slowlog-log-slower-than <microseconds>

# 配置慢查询日志最大长度
CONFIG SET slowlog-max-len <length>

十八、内存管理命令

bash 复制代码
# 查看内存使用情况
MEMORY USAGE <key> [SAMPLES count]

# 查看内存统计
MEMORY STATS

# 查看内存医生诊断
MEMORY DOCTOR
相关推荐
专注echarts研发20年2 小时前
工业级 Qt 业务窗体标杆实现・ResearchForm 类深度解析
数据库·qt·系统架构
周杰伦的稻香4 小时前
MySQL中常见的慢查询与优化
android·数据库·mysql
冉冰学姐4 小时前
SSM学生社团管理系统jcjyw(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·ssm 框架·学生社团管理系统·多角色管理
nvd115 小时前
深入分析:Pytest异步测试中的数据库会话事件循环问题
数据库·pytest
appearappear5 小时前
如何安全批量更新数据库某个字段
数据库
·云扬·6 小时前
MySQL 常见存储引擎详解及面试高频考点
数据库·mysql·面试
羊小猪~~6 小时前
【QT】--文件操作
前端·数据库·c++·后端·qt·qt6.3
coding-fun7 小时前
电子发票批量提取导出合并助手
大数据·数据库
leo_2327 小时前
备份&恢复--SMP(软件制作平台)语言基础知识之三十九
数据库·数据安全·开发工具·smp(软件制作平台)·应用系统