一小时学习Redis

前提:菜鸟学习的记录过程,如果有不足之处,还请各位大佬大神们指教(感谢)】

redis 简介

remote dictionary server 是一个开源的基于内存的数据存储系统

用在数据库,消息队列,在nosql数据库之一

把数据存储在内存中,提高io的读写速度,提升性能------redis

1.redis支持多种数据结构

2.redis使用方式 有三个类型

  • CLI 命令行界面 通过redis -CLI 命令行 工具去使用redis
  • API 应用程序接口,用java,python常用的编程语言 使用redis
  • GUI 图像用户界面,用一些 图形化工具

3.redis的优势

  1. 性能极高
  2. 数据类型丰富,单键值对最大支持512M大小的数据
  3. 简单易用,支持所有主流编程语言
  4. 支持数据持久化,主从复制,哨兵模式

4.安装配置

在linux 系统安装---我的虚拟机是ubantu版本

在linux中

1. 更新软件包列表
复制代码
sudo apt update
2. 安装 Redis
复制代码
sudo apt install redis -y

检查 Redis 是否安装成功

1. 查看 Redis 版本
复制代码
redis-server --version
2. 启动 Redis 服务
复制代码
sudo systemctl start redis
3. 设置开机启动(可选)
复制代码
sudo systemctl enable redis

测试 Redis 是否能正常使用

1. 使用 Redis 客户端连接
复制代码
redis-cli

你会进入 Redis 命令行,看到类似:

复制代码
127.0.0.1:6379>
2. 试试简单命令
复制代码
set name rabbit
get name

结果会返回:

复制代码
"rabbit"

说明 Redis 已经可以正常使用了。

退出 是 exit

版本号:

复制代码
qiaobingbing@qiaobingbing-virtual-machine:~$ redis-server --version
Redis server v=7.4.1 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=1b64b5d478880de3

window安装 redis 稍微有点麻烦

  • wsl 安装 一个linux系统,在linux系统安装redis
  • docker安装 ,在下载一个 redis镜像
  • 传统window文件安装,但是安装的redis版本很老。

5.学习redis

用linux 学习

1.启动

启动服务端:redis-server 命令,ctrl+C 关闭服务

我的系统好像是默认redis自动开启,可以ctrl+C 关闭redis服务

所以我只需要打开另一个窗口 输入启动客户端: redis-cli

弹出:

127.0.0.1:6379>

redis地址+默认端口号

2.安装GUI图形化工具

可以在官网下载 redisinsight-v2

|------------------------------------------|----------------|---------------|--------|
| 工具名 | 优点 | 安装方式 | 是否开源 |
| RedisInsight ✅推荐 | 官方出品,界面美观,功能强大 | 可直接下载 | ✅ 开源免费 |
| RDM (Redis Desktop Manager) | 跨平台、轻量级 | .deb 安装包或源码编译 | 部分版本开源 |
| Another Redis Desktop Manager (ARDM) | 开源版 RDM,界面现代 | AppImage/.deb | ✅ 开源免费 |

我要在window主机安装RedisInsight, 远程连接虚拟机(Linux)里的 Redis 服务 。

【Windows主机】 ← 图形化工具(RedisInsight / RDM)

└──连接→【Linux虚拟机(Ubuntu)】 ← Redis 服务运行在 6379 端口

3.让 Linux 的 Redis 允许远程访问

Redis 默认只监听 127.0.0.1(本机访问),我们要改成监听全部 IP。

1. 编辑配置文件
复制代码
sudo nano /etc/redis/redis.conf
2. 找到并修改这行:
复制代码
bind 127.0.0.1

改成:

复制代码
bind 0.0.0.0
3. (推荐)设置密码(防止暴露风险)

找到下面行,取消注释并设置密码:

复制代码
# requirepass yourpassword

改为:

复制代码
requirepass 123456
4. 关闭保护模式(如果要远程访问必须关)

找到这行:

复制代码
protected-mode yes

改为:

复制代码
protected-mode no
5. 重启 Redis
复制代码
sudo systemctl restart redis

📌 第二步:查看虚拟机 IP 地址

复制代码
ip a

找到虚拟机的内网 IP,比如:

复制代码
192.168.200.128

记下这个 IP,你主机就是连这个地址 + 6379 端口的

  • 确保你的虚拟机是 桥接模式主机网络模式(Host-only),否则主机无法访问虚拟机的 IP。

  • 虚拟机不要启用过强的防火墙(如 ufw),或开放 6379 端口:

    sudo ufw allow 6379

|----------------------------|------|
| 检查点 | 是否正确 |
| Redis 配置中 bind 0.0.0.0 ✅ | ✔️ |
| protected-mode no ✅ | ✔️ |
| 是否设置了密码 ✅ | ✔️ |
| 虚拟机是 桥接模式/Host-only ✅ | ✔️ |
| Windows 能 ping 通虚拟机 IP ✅ | ✔️ |
| 没有额外防火墙拦截 ✅ | ✔️ |

如果 telnet 不存在,可以先启用:

控制面板 → 启用或关闭 Windows 功能 → 勾选 Telnet Client

连接主机失败

你在虚拟机中 Redis 配置没问题:

  • Redis 已监听 0.0.0.0:6379 ✅
  • 防火墙关闭或放行了端口 ✅
  • 配置文件已修改并重启 ✅

但 Windows 主机用 telnet 测试 Redis IP+端口,连接超时失败,说明:

🚧 你的主机(Windows)无法访问虚拟机(Linux)的 IP 地址

|---------------------|---------------|
| 检查项 | 状态 |
| bind 0.0.0.0 | ✅ 已开启 |
| protected-mode no | ✅ 已关闭 |
| 正确监听 6379 端口 | ✅ 是 0.0.0.0 |
| 使用的配置文件是否生效 | ✅ 是 |
| Redis 服务正常运行中 | ✅ 是 |
| 主机能 ping 通虚拟机 IP | ✅ 是 |
| 已桥接网络模式 | ✅ 是 |
| 主机 telnet 仍然失败 | ❌ 依然失败 |

【想用图形化工具的小伙伴,自己去尝试了,我自己捣鼓了liunx的桥接模式,NAT模式,NAT端口转发,关闭防火墙,关闭VPN,我都连接RedisInsight失败了,伤心了,已老实】

6.学习redis目标

|--------------|-----------------------------------------------|
| 学习目标 | 命令行实现方式(示例) |
| 启动 Redis 服务 | sudo systemctl start redisredis-server |
| 连接 Redis | redis-cli |
| 设置 Key | set name rabbit |
| 获取 Key | get name |
| 删除 Key | del name |
| 查看所有键 | keys * |
| 设置过期时间 | expire name 60 |
| 查看 key 剩余时间 | ttl name |
| 查看 Redis 配置 | CONFIG GET * |
| 设置密码并验证 | AUTH 密码 ,配置里 requirepass 设置密码 |
| 了解不同数据结构(重点) | lpush hset sadd zadd 等 |

7.GUI 工具的缺点

|-----------------------------------------|-------------------------|
| GUI 工具 | 问题 |
| RedisInsight/AnotherRedisDesktopManager | 对新手是黑盒,反而难以理解 Redis 本质 |
| 连接配置麻烦 | NAT/桥接/IP、防火墙/密码配置很容易卡壳 |
| 占资源 | 比较吃内存和 CPU,虚拟机容易卡 |

🔰8:Redis 基础命令熟练(CLI 操作)

|---------------|-----------------------------------------------------|----------------------|
| 目标 | 内容 | 练习命令 |
| 了解 Redis 是什么 | 内存数据库、键值对存储、五大数据结构、持久化机制 | --- |
| 安装并启动 Redis | sudo apt install redis redis-server redis-cli | --- |
| 操作字符串(string) | set get incr append strlen | set name rabbit |
| 操作列表(list) | lpush rpush lrange lpop rpop | lpush fruits apple |
| 操作集合(set) | sadd smembers srem | sadd tags redis |
| 操作哈希(hash) | hset hget hgetall | hset user name tom |
| 操作有序集合(zset) | zadd zrange zscore | zadd rank 100 tom |
| 通用命令 | del exists expire ttl keys * | --- |
| 密码配置 + 连接验证 | requirepass redis-cli -a 密码 | |

9.五种基础数据类型

复制代码
# 查看 Redis 服务是否运行
ps -ef | grep redis

# 启动 Redis(如果还没开)
sudo systemctl start redis

# 开机自启(建议加上)
sudo systemctl enable redis

# 用 redis-cli 连接
redis-cli

✅ 出现:127.0.0.1:6379> 就说明进入成功!

掌握 Redis 中最基本的类型:键值对(key-value)

1. 字符串:命令 + 示例

|----------|---------|----------------------------|
| 命令 | 含义 | 示例 |
| SET | 设置一个键值对 | SET name rabbit |
| GET | 获取值 | GET name |
| DEL | 删除 key | DEL name |
| INCR | 自增(默认1) | SET count 1 INCR count |
| APPEND | 字符串拼接 | APPEND name "_dev" |

实操练习

redis的键是区分 大小写的,默认字符串存储数据,二进制。很多类型存储到redis

EXISTS --看key键 是否存在

KEYS * --查看所有的key键 有哪些

复制代码
SET user:1 "Xiaoming"
GET user:1
DEL user:1
SET score 10
INCR score
APPEND score " points"

SET age 22

127.0.0.1:6379> SET age 22
OK
127.0.0.1:6379> GET age
"22"
127.0.0.1:6379> DEL age
(integer) 1
127.0.0.1:6379> GET age
(nil)
127.0.0.1:6379> EXISTS age
(integer) 0
127.0.0.1:6379> EXISTS name
(integer) 1
127.0.0.1:6379> 
复制代码
127.0.0.1:6379> KEYS *me
1) "name"
127.0.0.1:6379> SET myname  qbb
OK
127.0.0.1:6379> SET yourname zxx
OK
127.0.0.1:6379> keys * me
(error) ERR wrong number of arguments for 'keys' command
127.0.0.1:6379> KEYS *me
1) "name"
2) "myname"
3) "yourname"

#全部的键都被删掉了

在* 后面加上 me,可以查找带有me的 key键

全部key删掉

#全部的键都被删掉了 ,输入: FLUSHALL

中文查看

redis对中文的不支持,因为是二进制存储,反斜杠是指 十六进制。

如果想显示中文,先 quit (exit) ,退出客户端

重新登陆 输入: redis-cli --raw

让原始形式的内容 出现,这时候 在 GET name 就会出现中文了。

输入 clear 清空这个页面

复制代码
127.0.0.1:6379> SET name 朱
OK
127.0.0.1:6379> get name
"\xe6\x9c\xb1"
----------------------------------------------------
127.0.0.1:6379> exit
qiaobingbing@qiaobingbing-virtual-machine:~$ redis-cli --raw
127.0.0.1:6379> GET name
NOAUTH Authentication required.

127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> GET name
朱
127.0.0.1:6379> 
过期时间 (EXPIRE,SETEX)

输入TTL name ,表示-1 说明没有设置过期时间,

复制代码
127.0.0.1:6379> TTL name
-1
127.0.0.1:6379> 

用 EXPIRE 设置过期时间 ,设置10秒,用TTL 查看还剩时间

最后用GET name 获取key ,发现输出空了,表示key 过期了,看不到这个键了

复制代码
127.0.0.1:6379> EXPIRE name 10
1
127.0.0.1:6379> ttl name
-2
127.0.0.1:6379> TTL name
-2
127.0.0.1:6379> GET name

127.0.0.1:6379> 

SETEX 也可以设置过期时间

SETEX key 时间

复制代码
127.0.0.1:6379> SETEX name 10  猪猪
OK
127.0.0.1:6379> TTL name
7
127.0.0.1:6379> TTL name
6
127.0.0.1:6379> TTL name
5
127.0.0.1:6379> TTL name
3
127.0.0.1:6379> TTL name
2
127.0.0.1:6379> TTL name
1
127.0.0.1:6379> TTL name
-2
127.0.0.1:6379> get name

127.0.0.1:6379> 

2.列表(List)

目的

学习 Redis 的链表结构,适合:消息队列、评论列表

一般用来存储和操作一组有顺序的数据


命令 + 示例

|----------|-------|-----------------------|
| 命令 | 含义 | 示例 |
| LPUSH | 从左侧插入 | LPUSH tasks "task1" |
| RPUSH | 从右侧插入 | RPUSH tasks "task2" |
| LRANGE | 获取列表 | LRANGE tasks 0 -1 |
| LPOP | 左侧弹出 | LPOP tasks |
| RPOP | 右侧弹出 | RPOP tasks |

实操练习
复制代码
LPUSH fruits "apple"
RPUSH fruits "banana"
LPUSH fruits "orange"
LRANGE fruits 0 -1
LPOP fruits
RPOP fruits

# 字母a  左侧插入
127.0.0.1:6379> LPUSH letter a
1
# 获取列表,key  开始位置(默认0)  结束位置(-1 最后一个)
127.0.0.1:6379> LRANGE letter 0 -1
a
127.0.0.1:6379> LPUSH letter b
2
127.0.0.1:6379> LPUSH letter c
3
127.0.0.1:6379> LPUSH letter d
4
#  (0 -1 相当于获取第一个 到 最后一个元素,所有数据)
127.0.0.1:6379> LRANGE letter 0 -1
d
c
b
a
 # 也可以一次性 左侧插入 多个数据 
127.0.0.1:6379> LPUSH letter e f g h i j k
11

# 注意获取的数据是反过来的 LPUSH 是按照从左往右顺序插入到列表头部
127.0.0.1:6379> LRANGE letter 0 -1
k
j
i
h
g
f
e
d
c
b
a

# 右侧插入 f 
127.0.0.1:6379> RPUSH letter f
12
127.0.0.1:6379> LRANGE letter 0 -1
k
j
i
h
g
f
e
d
c
b
a
f

删除 : (头部)左删除LPOP and 右删除RPOP(尾部)

也可以一次性删除很多个 数据 【 LPOP key 数字(个数,删几个)】

LRANGE 获取列表数据

复制代码
127.0.0.1:6379> LPOP letter 
k
127.0.0.1:6379> RPOP letter
f
127.0.0.1:6379> LRANGE letter 0 -1
j
i
h
g
f
e
d
c
b
a

# 

Redis 的 LPOPRPOP6.2 以前版本只支持弹出一个元素 ,不支持你写的 LPOP letter 2 这种"弹出多个"的语法。

你当前 Redis 是 6.0.16版本太低,所以只能:一个一个删除

【更新redis 版本到7.0】

重新下载 Redis 7.2.5
复制代码
curl -O http://download.redis.io/releases/redis-7.2.5.tar.gz
第三步:解压
复制代码
tar -xzf redis-7.2.5.tar.gz

如果你没装 make,先安装:

复制代码
sudo apt update
sudo apt install build-essential -y
第四步:编译 Redis
复制代码
cd redis-7.2.5
make

这一步会花费几分钟,编译完成后你就拥有了最新版 Redis。


✅ 四、安装完成后运行

直接运行(不覆盖旧版 Redis):

复制代码
src/redis-server

再打开新终端,执行客户端命令:

复制代码
cd ~/redis-7.2.5
src/redis-cli

就可以测试新版的命令了,比如:

复制代码
LPUSH letter a b c d e
LPOP letter 2      # Redis 6不支持,Redis 7+支持

md,我的6和7版本在一起,就卡机了,我还是老实把之前redis版本删掉吧

把旧版本的redis6.1卸载了

sql 复制代码
-virtual-machine:~/redis-7.2.5$ cd ~
-virtual-machine:~$ sudo systemctl stop redis
-virtual-machine:~$ sudo apt remove redis-server -y
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成                 
下列软件包是自动安装的并且现在不需要了:
  liblua5.1-0 liblzf1 lua-bitop lua-cjson redis-tools
使用'sudo apt autoremove'来卸载它(它们)。
下列软件包将被【卸载】:
  redis-server
升级了 0 个软件包,新安装了 0 个软件包,要卸载 1 个软件包,有 72 个软件包未被升级。
解压缩后将会空出 196 kB 的空间。
(正在读取数据库 ... 系统当前共安装有 223222 个文件和目录。)
正在卸载 redis-server (5:6.0.16-1ubuntu1) ...
正在处理用于 man-db (2.10.2-1) 的触发器 ...
-virtual-machine:~$ sudo cp ~/redis-7.2.5/src/redis-server /usr/local/bin/
-virtual-machine:~$ sudo cp ~/redis-7.2.5/src/redis-cli /usr/local/bin/
-virtual-machine:~$ redis-server -v
Redis server v=7.2.5 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=cbc8782cb6e8f354
-virtual-machine:~$ 

重启 redis7版本

cd ~/redis-7.2.5

src/redis-server redis.conf

打开新终端窗口,执行:

sql 复制代码
cd ~/redis-7.2.5
src/redis-cli

daemonize yes # 改成 yes,启用后台运行

bind 0.0.0.0 # 允许远程连接

requirepass 123456 # 设置访问密码

protected-mode no # (可选)允许公网连接(测试环境用)

LPOP RPOP 一次多删除

成功 LPOP一次性删除多个数据

复制代码
127.0.0.1:6379> LPOP letter 2
1) "k"
2) "j"

127.0.0.1:6379> LRANGE letter 0 -1 
1) "i"
2) "h"
3) "g"
4) "f"
5) "e"
6) "d"
7) "c"
8) "b"
9) "a"

【学会这些,就可以做一个简单的消息队列】

1.先用 RPOP命令RPOP letter 尾部删掉 一个元素,-----一个简单的先进先出队列

元素从0开始算

复制代码
127.0.0.1:6379> LRANGE letter 0 -1
1) "i"
2) "h"
3) "g"
4) "f"
5) "e"
6) "d"
7) "c"
8) "b"
9) "a"
127.0.0.1:6379> RPOP letter
"a"

LRTIM(修剪)

删除列表中的元素 LTRIM (修剪)命令,删除指定范围以外的数据

(只保留 start stop 之间的元素)

LTRIM key 开始 结束

复制代码
127.0.0.1:6379> LTRIM letter 1 5 
OK
 -- 只保留  1-5 之间的元数
127.0.0.1:6379> LRANGE letter 0 -1
1) "h"
2) "g"
3) "f"
4) "e"
5) "d"
127.0.0.1:6379> 

3.:集合(Set)

🎯 目的

掌握无顺序,不重复,集合。常用于:标签、兴趣爱好、去重

都是S 开头


🚀 命令 + 示例

|-------------|--------|------------------------|
| 命令 | 含义 | 示例 |
| SADD | 添加元素 | SADD tags redis |
| SMEMBERS | 查询所有元素 | SMEMBERS tags |
| SREM | 移除元素 | SREM tags redis |
| SISMEMBER | 是否存在 | SISMEMBER tags redis |

🧪 实操练习
复制代码
SADD skills python java redis
SMEMBERS skills
SISMEMBER skills java
SREM skills redis

SADD 可以一次性添加几个 值

SADD key 值

SMEMBERS key查看数据 smembers

SADD不能添加重复的元素,添加失败

复制代码
127.0.0.1:6379> SADD course math redis
(integer) 2

127.0.0.1:6379> SMEMBERS course
1) "math"
2) "redis"
127.0.0.1:6379> SADD course chinese japanese english music
(integer) 4
127.0.0.1:6379> SMEMBERS course
1) "math"
2) "redis"
3) "chinese"
4) "japanese"
5) "english"
6) "music"

SISMEMBERS key 判断 值 是否在集合set 里面

1 表示 存在

0 表示 不存在

复制代码
127.0.0.1:6379> SISMEMBER course math
(integer) 1
127.0.0.1:6379> SISMEMBER course python
(integer) 0

SREM key 值 删除元素

复制代码
127.0.0.1:6379> SREM course math
(integer) 1

两个集合之间有交集,并集 等运算


4.:哈希(Hash)

🎯 目的4

哈希结构 适合存储对象(键值对套键值对),如:用户信息

键值对集合

H开头


🚀 命令 + 示例

|-----------|--------|---------------------------|
| 命令 | 含义 | 示例 |
| HSET | 设置字段 | HSET user:1 name rabbit |
| HGET | 获取字段值 | HGET user:1 name |
| HGETALL | 获取所有字段 | HGETALL user:1 |
| HDEL | 删除字段 | HDEL user:1 name |

🧪 实操练习
复制代码
HSET user:1 name rabbit age 21
HGET user:1 name
HGETALL user:1
HDEL user:1 age
  1. HSET 键 key 值
  2. HGET 键
  3. HGETALL key 获取哈希中所有的键值对
  4. HDEL 删除键值对
  5. HEXISTS 判断某个键值对是否存在
  6. HKEYS 获取所有键
  7. HLEN 获取所有哈希键值对的数量

相当于在 Redis 中创建了一个名为 person 的"字典"或"对象":

复制代码
127.0.0.1:6379> HSET person name zxx
1
127.0.0.1:6379> HSET person age 3
1

127.0.0.1:6379> HGET person name
zxx
127.0.0.1:6379> HGET person age
3
--  HGETALL 获取哈希中所有的键值对   键:值
127.0.0.1:6379> HGETALL person
name
zxx
age
3
 --HDEL 删除键值对    
127.0.0.1:6379> HDEL person age
1
127.0.0.1:6379> HGETALL person
name
rabbit
127.0.0.1:6379> 

--HEXISTS   判断某个键值对是否存在
127.0.0.1:6379> HEXISTS person age
0
127.0.0.1:6379> HEXISTS person name
1


-- HKEYS 获取所有键
--HLEN  获取所有哈希键值对的数量
127.0.0.1:6379> HKEYS person
name
sex
127.0.0.1:6379> HLEN person
2

✅ 5.:有序集合(ZSet)

🎯 目的

适合:排行榜、积分榜(有序去重),有顺序,去重,排序,


🚀 命令 + 示例

|----------|------|-------------------------------|
| 命令 | 含义 | 示例 |
| ZADD | 添加成员 | ZADD rank 100 tom |
| ZRANGE | 查询成员 | ZRANGE rank 0 -1 WITHSCORES |
| ZREM | 删除成员 | ZREM rank tom |
| ZSCORE | 获取分数 | ZSCORE rank tom |

🧪 实操练习
复制代码
ZADD rank 100 tom 120 jerry 90 spike
ZRANGE rank 0 -1 WITHSCORES
ZSCORE rank jerry
ZREM rank spike

ZADD 增加元素,可以一次性添加多条

ZRANGE key 开始 结束 ---查看有序集合的元素

ZSCORE key 查看某个元素的分数

ZRANK key 查看某个元素的排行(分数从小到大排序,0位开始)

ZREVRANK key 查看某元素 排行(从大到小 排序,反转)

复制代码
qiaobingbing@qiaobingbing-virtual-machine:~/redis-7.2.5$ redis-cli --raw
127.0.0.1:6379> AUTH 123456
OK
127.0.0.1:6379> ZADD result 600 重庆大学
1
127.0.0.1:6379> ZADD result 520 北京大学
1
127.0.0.1:6379> ZADD result 525 交通大学
1
-- 只有成员  没有分数  要在后面加上  WITHSCORES
127.0.0.1:6379> ZRANGE result 0 -1
北京大学
交通大学
重庆大学

127.0.0.1:6379> ZRANGE result 0 -1  WITHSCORES
北京大学
520
交通大学
525
重庆大学
600

-- 查看某个元素的分数
127.0.0.1:6379> ZSCORE result 交通大学
525
-- 查看某个元素的排行(分数从小到大排序,0位开始)
127.0.0.1:6379> ZRANK result 交通大学
1
127.0.0.1:6379> ZRANK result 重庆大学
2
127.0.0.1:6379> ZRANK result 北京大学
0
--查看某元素 排行(从大到小 排序,反转) 0 是第一名
127.0.0.1:6379> ZREVRANK  result 北京大学
2
127.0.0.1:6379> ZREVRANK  result 重庆大学
0

总结图:Redis 五大数据结构速记图

sql 复制代码
┌────────────┐        ┌──────────────┐
│  String    │──┐     │   List       │
│  键值对     │  │     │   有序链表    │
└────────────┘  │     └──────────────┘
                ▼
┌────────────┐        ┌──────────────┐
│  Set       │        │   Hash       │
│  无序不重复 │        │   对象结构    │
└────────────┘        └──────────────┘

             ┌──────────────┐
             │   ZSet       │
             │   有序集合    │
             └──────────────┘

(哦豁,先更新到这里....在学习笔记写的.痛失名字)

【感谢您的观看学习,制作不易,希望得到一个一键三连哈哈】

相关推荐
汤姆大聪明1 小时前
Mysql定位慢查询
数据库·mysql
楼田莉子2 小时前
Linux学习之认识Linux的基本指令
linux·运维·服务器·开发语言·学习
几道之旅3 小时前
Electron实现“仅首次运行时创建SQLite数据库”
数据库·electron·sqlite
AWS官方合作商3 小时前
从AWS MySQL数据库下载备份到S3的完整解决方案
数据库·mysql·aws
Mr_Xuhhh4 小时前
QT窗口(4)-浮动窗口
android·开发语言·网络·数据库·c++·qt
Mr_Xuhhh4 小时前
QT窗口(3)-状态栏
java·c语言·开发语言·数据库·c++·qt·算法
半夏知半秋4 小时前
CentOS7下的ElasticSearch部署
大数据·服务器·后端·学习·elasticsearch·搜索引擎·全文检索
小鱼1517434 小时前
SQL-DML
数据库
gwcgwcjava5 小时前
【时序数据库-iotdb】时序数据库iotdb的可视化客户端安装部署--dbeaver
数据库·时序数据库·iotdb
超浪的晨5 小时前
Java Map 集合详解:从基础语法到实战应用,彻底掌握键值对数据结构
java·开发语言·后端·学习·个人开发