30分钟速成Redis键值存储数据库(包含所有运行环境),AnotherRedis、navicat、命令行客户端

在我们的平台上,我们会将课程所有需要的环境配置好,30分钟速成技术
https://www.guoyasoft.com/
感兴趣的可以在文末联系我
image.png
这篇文章详细讲解了如何使用AnotherRedis、navicat以及命令行客户端如何对Redis键值存储数据库中的各种数据进行增删改查操作

环境要求

一台预装好Redis的服务器,本地自行部署也可以
以下均以公网服务器为例,服务器配置如下
image.png

一、AnotherRedisDesktop客户端

1.连接数据库

新建连接

image.png ## 2.选择实例库 ### 选择实例库 image.png

3.增删改查String数据

一、增

场景一:手机发送验证码
key=sms:code:13800138000
value=123456
1.新建String数据(text)
image.png image.png
2.新建String数据(Json)
场景二:存储商品信息
key=product:hot:1001
value={\"id\":1001,\"name\":\"iPhone14\",\"price\":6999}
image.png
访问网站格式化json数据
https://www.bejson.com/
image.png
填写数据
image.png
特点:存储类型:字符串、整数、浮点数、二进制数据(如图片序列化) 最大容量:512MB(比Memcached的1MB大很多)

二、查

1.查看所有数据
image.png
2.查String数据
image.png

三、改

image.png

四、删(自动删除)

1.设置过期时间
image.png
2.确定修改后开始计时
image.png
3.自动删除
image.png
4.刷新后数据消失
image.png

4.增删改查List数据

一、增

场景:订单队列
key=task:queue:urgent
value1=process_order_12345
value2=process_order_12346
image.png
1.删除默认数据
在 Another Redis Desktop Manager (ARDM) 中,当你新建一个 Redis List 时,默认会包含一个值为 “New member” 的成员,这是该工具的默认行为,主要是为了方便用户快速开始操作。
image.png
2.新增数据
属性
keytask:queue:urgent
value1process_order_12345
image.png image.png
属性
keytask:queue:urgent
value2process_order_12346
image.png image.png
特点:一个key对应多个有序value( 顺序固定 )(可以重复)(可以双端操作)

二、查数据

1.查所有数据
image.png
2.查List数据
image.png

三、改

image.png

四、删除(自动删除)

1.设置过期时间
image.png
2.确定修改后开始计时
image.png
3.自动删除
image.png
4.刷新后数据消失
image.png

5.增删改查Hash数据

一、增

场景:添加人物信息
key=user:profile:1001
key1=name    value1=张三
key2=age     value2=30
key3=email   value3=zhangsan@example.com
1.尝试切换数据库
image.png
2.新建Hash列表
image.png
3.删除默认数据
image.png
4.新增数据
image.png
属性
key1name
value1张三
image.png
属性
key2age
value230
image.png
属性
key3email
value3zhangsan@example.com
image.png image.png
特点:一个key对应多个字段-value对象(无序)(字段唯一)(适合存储对象)

二、查数据

1.查看所有数据
image.png
2.查Hash数据
image.png
只搜索1001对应的key有三个,查出来多个数据,所以要搜索完整的key保证数据准确性,这里体现了前缀的重要性
image.png

三、改

image.png

四、删(自动删除)

1.设置过期时间
image.png
2.自动删除
image.png

6.增删改查Set数据

一、增

场景:用户标签管理
key ="user:tags:1001";
value1 = "vip"
value2 = "active"
value3 = "new"
1.新建Set集合
image.png
2.删除默认数据
image.png
3.新增数据
属性
value1vip
image.png
属性
value2active
image.png
属性
value3new
image.png image.png
特点:一个key对应多个唯一value (无序)(不允许重复)(可以求交集/并集)

二、查数据

1.查看所有数据
image.png
2.查Set数据
image.png

三、改Set数据

image.png

四、删(自动删除)

1.设置过期时间
image.png
2.自动删除
image.png

7.增删改查SortedSet数据

一、增

场景:商品排行榜
key=product:ranking    
value=product:1001
score=4.8  
         
key=product:ranking     
value=product:1002    
score=4.5  
         
key=product:ranking     
value=product:1003     
score=4.7  
1.新建Sorted Set集合
image.png
2.删除默认数据
image.png
3.新增数据
属性
keyproduct:ranking
valueproduct:1001
score4.8
image.png
属性
keyproduct:ranking
valueproduct:1002
score4.5
image.png
属性
keyproduct:ranking
valueproduct:1003
score4.7
image.png image.png
特点:每个value附带排序分数score (按分数排序)(不允许重复)(可以范围查询)

二、查数据

1.查看所有数据
image.png
2.查Sorted Set数据
image.png

三、改

image.png

四、删(自动删除)

1.设置过期时间
image.png
2.自动删除
image.png

8.手工删除

手动删除

image.png image.png

二、navicat客户端

1.连接navicat

连接navicat

image.png image.png

2.增删改查String数据

String类型

1.增
SET sms:code:13800138000 123456
image.png
2.查
GET sms:code:13800138000
image.png
3. 改

改(直接 SET 新值)

SET sms:code:13800138000 654321
image.png
4.删
DEL sms:code:13800138000
image.png
5.再查
GET sms:code:13800138000
image.png

3.增删改查List数据

List类型
# 增(从左压入)
LPUSH task:queue:urgent process_order_12345
LPUSH task:queue:urgent process_order_12346

# 查(获取全部列表)
LRANGE task:queue:urgent 0 -1

# 改(修改指定下标的值)
LSET task:queue:urgent 0 process_order_99999

# 删(删除最右边的一个任务)
RPOP task:queue:urgent

# 删除整个列表
DEL task:queue:urgent

1.增

增(从左压入)

LPUSH task:queue:urgent process_order_12345
LPUSH task:queue:urgent process_order_12346
image.png
2.查

查(获取全部列表)

LRANGE task:queue:urgent 0 -1
image.png
3.改(先查再改)

改(修改指定下标的值)

LSET task:queue:urgent 0 process_order_99999
image.png image.png
4.删
# 删(删除最右边的一个任务)
RPOP task:queue:urgent
image.png
5.再查
# 查(获取全部列表)
LRANGE task:queue:urgent 0 -1
image.png

4.增删改查Hash数据

Hash类型

# 增 / 改(HSET)
HSET user:profile:1001 name "张三"
HSET user:profile:1001 age 30
HSET user:profile:1001 email "zhangsan@example.com"

# 查(获取所有字段)
HGETALL user:profile:1001

# 查单个字段
HGET user:profile:1001 name

# 改(继续 HSET)
HSET user:profile:1001 name "李四"

# 删除一个字段
HDEL user:profile:1001 email

# 删除整个 hash
DEL user:profile:1001
1.增

增 / 改(HSET)

HSET user:profile:1001 name "张三"
HSET user:profile:1001 age 30
HSET user:profile:1001 email "zhangsan@example.com"
image.png
2.查(查所有、查单个字段)

查(获取所有字段)

HGETALL user:profile:1001
image.png

查单个字段

HGET user:profile:1001 name
image.png
3.改(先改再查)

改(继续 HSET)

HSET user:profile:1001 name "李四"
image.png

查(获取所有字段)

HGETALL user:profile:1001
image.png
4.删

删除一个字段

HDEL user:profile:1001 email
image.png
5.再查

查(获取所有字段)

HGETALL user:profile:1001
image.png

5.增删改查Set数据

Set类型

# 增
SADD user:tags:1001 vip active new

# 查(所有元素)
SMEMBERS user:tags:1001

# 改(先删再加)
SREM user:tags:1001 new
SADD user:tags:1001 loyal

# 删(删除整个 Set)
DEL user:tags:1001
1.增
SADD user:tags:1001 vip active new
image.png
2.查

查(所有元素)

SMEMBERS user:tags:1001
image.png
3.改(先改再查)

先改(先删再加)

SREM user:tags:1001 new
SADD user:tags:1001 loyal
image.png

再查

SMEMBERS user:tags:1001
image.png
4.删(先删再查)

删(删除整个 Set)

DEL user:tags:1001
image.png

查(所有元素)

SMEMBERS user:tags:1001
image.png

6.增删改查SortedSet数据

Sorted Set类型

# 增(ZADD 分数 成员)
ZADD product:ranking 4.8 product:1001
ZADD product:ranking 4.5 product:1002
ZADD product:ranking 4.7 product:1003

# 查(按分数降序)
ZREVRANGE product:ranking 0 -1 WITHSCORES

# 改(修改 product:1002 的分数为 4.9)
ZADD product:ranking 4.9 product:1002

# 删除某个成员
ZREM product:ranking product:1001

# 删除整个 ZSet
DEL product:ranking
1.增

增(ZADD 分数 成员)

ZADD product:ranking 4.8 product:1001
ZADD product:ranking 4.5 product:1002
ZADD product:ranking 4.7 product:1003
image.png
2.查

查(按分数降序)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png
3.改

改(修改 product:1002 的分数为 4.9)

ZADD product:ranking 4.9 product:1002
image.png
4.删(先删再查)

删除某个成员

ZREM product:ranking product:1001

查(按分数降序)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png

删除整个 Set

DEL product:ranking

查(按分数降序)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png

三、命令行客户端

1.命令行客户端连接redis

代码示例

代码块分开

docker ps  //展示容器

docker ps | grep redis  //筛选出redis

docker exec -it 67ad   //67ad改成容器id前四位
redis-cli -a com.guoyasoft
或者
docker exec -it 67ad redis-cli -a com.guoyasoft //67ad改成容器id前四位
操作示例
docker ps  //展示容器
image.png
docker ps | grep redis  //筛选出redis
image.png
docker exec -it 24ae67d26eff redis-cli -a com.guoyasoft //24ae67d26eff改成容器id前四位
image.png ## 2.增删改查String数据 ### 原Java语句
 String codeKey = "sms:code:13800138000";
 String verificationCode = "123456";

代码示例

SET sms:code:13800138000 123456     增
GET sms:code:13800138000            查
SET sms:code:13800138000 654321     改
DEL sms:code:13800138000            删

操作示例

1. 增
SET sms:code:13800138000 123456

GET sms:code:13800138000
image.png
2.改
SET sms:code:13800138000 654321
GET sms:code:13800138000
image.png
3.删
DEL sms:code:13800138000
GET sms:code:13800138000
image.png

3.增删改查List数据

原Java语句

String taskQueueKey = "task:queue:urgent";
String newTask1 = "process_order_12345";
String newTask2 = "process_order_12346";

代码示例

# 增(从左侧压入队列)
LPUSH task:queue:urgent process_order_12345
LPUSH task:queue:urgent process_order_12346

# 查(获取整个列表)
LRANGE task:queue:urgent 0 -1

# 改(列表不能直接改,用 LSET 改指定下标)
LSET task:queue:urgent 0 process_order_00000

# 删(从右侧弹出一个任务,模拟处理)
RPOP task:queue:urgent
# 删整个队列
DEL task:queue:urgent

操作示例

1. 增

增(从左侧压入队列)

LPUSH task:queue:urgent process_order_12345
LPUSH task:queue:urgent process_order_12346
LRANGE task:queue:urgent 0 -1
image.png
2.改

改(列表不能直接改,用 LSET 改指定下标)

LSET task:queue:urgent 0 process_order_00000

查(获取整个列表)

LRANGE task:queue:urgent 0 -1
image.png
3.删

删(从右侧弹出一个任务,模拟处理)

RPOP task:queue:urgent

查(获取整个列表)

LRANGE task:queue:urgent 0 -1

删整个队列

DEL task:queue:urgent

查(获取整个列表)

LRANGE task:queue:urgent 0 -1
image.png

4.增删改查Hash数据

原Java语句


String userKey = "user:profile:1001";
put(userKey, "name", "张三");
put(userKey, "age", 30);
put(userKey, "email", "zhangsan@example.com");

代码示例

# 增(或改)字段
HSET user:profile:1001 name "张三"
HSET user:profile:1001 age 30
HSET user:profile:1001 email "zhangsan@example.com"

# 查(所有字段)
HGETALL user:profile:1001

# 查单个字段
HGET user:profile:1001 email

# 改(直接用 HSET)
HSET user:profile:1001 name "李四"

# 删字段
HDEL user:profile:1001 email

操作示例

1. 增

增(或改)字段

HSET user:profile:1001 name "张三"
HSET user:profile:1001 age 30
HSET user:profile:1001 email "zhangsan@example.com"

查(所有字段)

HGETALL user:profile:1001
image.png
2.查

查单个字段

HGET user:profile:1001 email
image.png
3.改

改(直接用 HSET)

HSET user:profile:1001 age 50

查单个字段

HGET user:profile:1001 age
image.png
4.删

删字段

HDEL user:profile:1001 email

查单个字段

HGET user:profile:1001 email
image.png

5.增删改查Set数据

原Java语句

String userTagsKey = "user:tags:1001";
add(userTagsKey, "vip", "active", "new");

代码示例

# 增(添加多个元素)
SADD user:tags:1001 vip active new

# 查(获取所有标签)
SMEMBERS user:tags:1001

# 改(先删后加)
SREM user:tags:1001 new
SADD user:tags:1001 loyal

# 删(删除整个 set)
DEL user:tags:1001

操作示例

1. 增

增(添加多个元素)

SADD user:tags:1001 vip active new

查(获取所有标签)

SMEMBERS user:tags:1001
image.png
2.改

改(先删后加)

SREM user:tags:1001 new
SADD user:tags:1001 loyal

查(获取所有标签)

SMEMBERS user:tags:1001
image.png
3.删

删(删除整个 set)

DEL user:tags:1001

查(获取所有标签)

SMEMBERS user:tags:1001
image.png

6.增删改查SortedSet数据

原Java语句

String rankingKey = "product:ranking";
add(rankingKey, "product:1001", 4.8);
add(rankingKey, "product:1002", 4.5);
add(rankingKey, "product:1003", 4.7);

代码示例

# 增(或更新分数)
ZADD product:ranking 4.8 product:1001
ZADD product:ranking 4.5 product:1002
ZADD product:ranking 4.7 product:1003

# 查(按分数降序排名)
ZREVRANGE product:ranking 0 -1 WITHSCORES

# 查某个成员的排名(从 0 开始)
ZREVRANK product:ranking product:1002

# 改(更新某个商品分数)
ZADD product:ranking 4.9 product:1002

# 删
ZREM product:ranking product:1001

操作示例

1. 增

增(或更新分数)

ZADD product:ranking 4.8 product:1001
ZADD product:ranking 4.5 product:1002
ZADD product:ranking 4.7 product:1003

查(按分数降序排名)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png
2.查排名

查某个成员的排名(从 0 开始)

ZREVRANK product:ranking product:1002
image.png
3.改

改(更新某个商品分数)

ZADD product:ranking 4.9 product:1002

查(按分数降序排名)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png
4.删

ZREM product:ranking product:1001

查(按分数降序排名)

ZREVRANGE product:ranking 0 -1 WITHSCORES
image.png

以上为全部内容
我们致力于制作最好的跟练教程,欢迎大家加入学习!!!
有任何问题欢迎联系!!
v×:WanCC2001

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值