苍穹外卖-day05

[!IMPORTANT]

Redis基础

  1. Redis的常用数据类型有哪些?它们的特点是什么?
  2. Redis的常用命令有哪些?分别适用于哪些数据类型?
  3. 如何启动和停止Redis服务?
  4. 如何修改Redis配置文件以设置密码?
  5. Redis的通用命令有哪些?它们的作用是什么?

Java操作Redis

  1. 为什么要自定义RedisTemplate的序列化器?默认序列化器有什么问题?
  2. java操作redis的流程是什么?

店铺营业状态功能

  1. 如何通过Redis存储和查询店铺营业状态?

  2. 设置店铺营业状态的流程是什么?

Redis基础

1. Redis的常用数据类型及特点
  1. 字符串(string):最基本的键值存储,适用于文本、数字或二进制数据。

  2. 哈希(hash):键值对的集合,适合存储对象(如用户信息),支持部分字段操作。

  3. 列表(list):按插入顺序排序的字符串集合,可重复,支持双向操作(如LPUSH、RPOP)。

  4. 集合(set):无序且唯一的字符串集合,适合去重和集合运算(交集、并集)。

  5. 有序集合(zset):每个成员关联一个分数(score),按分数排序,适合排行榜等场景。

在这里插入图片描述

2. 常用命令及适用数据类型
  1. 字符串SET(设值)、GET(取值)、SETEX(设值并设过期时间)、SETNX(不存在时设值)。
  2. 哈希HSET(设字段值)、HGET(取字段值)、HKEYS(获取所有字段)、HDEL(删除字段)。
  3. 列表LPUSH(左侧插入)、LRANGE(范围查询)、RPOP(右侧弹出)、LLEN(长度)。
  4. 集合SADD(添加成员)、SMEMBERS(获取所有成员)、SINTER(交集)、SREM(删除成员)。
  5. 有序集合ZADD(添加成员)、ZRANGE(按范围查询)、ZINCRBY(增加分数)、ZREM(删除成员)。
3. 启动和停止Redis服务
  1. 启动:命令行执行 redis-server.exe redis.windows.conf(Windows)或 redis-server /path/to/redis.conf(Linux)。
  2. 停止:在客户端执行 SHUTDOWN 命令,或使用 Ctrl+C 终止进程,或通过系统服务管理工具停止。
4. 修改配置文件设置密码

redis.conf 文件中找到 requirepass 配置项,修改为:

requirepass 123456

重启Redis服务使配置生效。

5. 通用命令及作用
  • KEYS pattern:查找匹配模式的键(慎用,可能阻塞服务)。
  • EXISTS key:检查键是否存在。
  • TYPE key:返回键存储的数据类型。
  • DEL key:删除指定键。

Java操作Redis

1. 自定义RedisTemplate序列化器的原因

默认的 JdkSerializationRedisSerializer 会导致存储的键和值带有Java序列化前缀(如\xac\xed\x00),可读性差且与其他客户端不兼容。自定义为 StringRedisSerializerJackson2JsonRedisSerializer 可解决此问题。

2. 操作流程
  1. 引入依赖:添加Spring Boot Data Redis的Maven坐标。

  2. 配置连接信息:在 application.yml 中设置 hostportpassword 等。

  3. 配置RedisTemplate:创建配置类,设置序列化器(如StringRedisSerializer)。

  4. 注入使用:在业务代码中注入 RedisTemplate,调用 opsForValue()opsForHash() 等方法操作数据。


店铺营业状态功能

1. 存储与查询

存储:使用字符串类型,键为 SHOP_STATUS,值为 1(营业)或 0(打烊)。
示例:redisTemplate.opsForValue().set("SHOP_STATUS", status);

查询:直接通过键获取值。
示例:Integer status = (Integer) redisTemplate.opsForValue().get("SHOP_STATUS");

2. 设置流程
  1. 前端提交状态值(如10)。
  2. 后端接收参数并校验合法性。
  3. 调用Redis的 set 方法更新状态。
  4. 返回操作结果给前端。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值