苍穹外卖05 Redis常用命令在Java中操作Redis_Spring Data Redis使用方式店铺营业状态设置
2-8 Redis常用命令
02 02-Redis入门
ctrl+c :快捷结束进程
配置密码:
以后再启动客户端的时候就需要进行密码的配置了。使用-a
在图形化界面中创建链接:
启动成功了。
03 03-Redis常用数据类型
04 04-Redis常用命令_字符串操作命令
05 05-Redis常用命令_哈希操作命令
06 06-Redis常用命令_列表操作命令
07 07-Redis常用命令_集合操作命令
08 08-Redis常用命令_有序集合操作命令
09 09-Redis常用命令_通用命令
2-9 在Java中操作Redis_Spring Data Redis使用方法 操作步骤
02 11-在Java中操作Redis_Spring Data Redis使用方式_环境搭建
package com.sky.config;import lombok.extern.slf4j.Slf4j;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
@Slf4j
public class RedisConfigation {@Beanpublic RedisTemplate redisTemplate(RedisConnectionFactory redisConnectionFactory) {log.info("开始创建redis模板对象...");RedisTemplate redisTemplate = new RedisTemplate();// 设置连接工厂redisTemplate.setConnectionFactory(redisConnectionFactory);// 设置key序列化器redisTemplate.setKeySerializer(new StringRedisSerializer());return redisTemplate;}
}
用这五个对象来操作redis当中的数据。
操作字符串类型的数据:
操作字符串功能测试代码如下:
/*** 测试redis操作字符串*/@Testpublic void testString() {//setredisTemplate.opsForValue().set("city", "北京");//设定key的值//getString city = (String) redisTemplate.opsForValue().get("city");//获取key的值System.out.println(city);// setxredisTemplate.opsForValue().set("code", "123",3, TimeUnit.MINUTES);//设定key的值,并且设定过期时间// setnxredisTemplate.opsForValue().setIfAbsent("lock","1");//设定key的值,如果key不存在则设置成功,如果key已存在则设置失败redisTemplate.opsForValue().setIfAbsent("lock","2");//校验组}
操作哈希类型的数据:
操作哈希表代码实现如下:
@Testpublic void testHash() {HashOperations hashOperations =redisTemplate.opsForHash();//hset 将哈希表key中的字段field的值设为valuehashOperations.put("100","name","tom");hashOperations.put("100","age","20");//hget 获取存储在指定哈希表中指定字段的值String name = (String)hashOperations.get("100", "name");System.out.println(name);//hkey 获取指定哈希表所有字段Set keys = hashOperations.keys("100");System.out.println(keys);//hvals 获取指定哈希表中所有值List values = hashOperations.values("100");System.out.println(values);//hdel 删除指定哈希表字段hashOperations.delete("100","age");}
其他类型的操作效果大差不差,就是注意好引用参数的形参限制就好了。不过多赘述,用到了多用几次就熟练了。
06 15-店铺营业状态设置_需求分析和设计
由于下方两个接口你只需要调用一个参数status ,又没必要为了这一个参数创建一张表,所以我们可以选择将这个参数创建在redis当中。
07 16-店铺营业状态设置_代码开发
三个接口实现如下:
package com.sky.controller.admin;import com.sky.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@Slf4j
@RestController
@ApiOperation("店铺管理")
@RequestMapping("/admin/shop")
public class ShopController {@Autowiredprivate RedisTemplate redisTemplate;/*** 设置店铺的营业状态* @param status* @return*/@PutMapping("/{status}")@ApiOperation("设置店铺的营业状态")public Result setStatus(@PathVariable Integer status){log.info("设置店铺的营业状态为:{}", status==1? "营业中":"打烊中");redisTemplate.opsForValue().set("SHOP_STATUS", status);return Result.success();}/*** 获取营业状态* @return*/@RequestMapping("/status")@ApiOperation("获取店铺的营业状态")public Result<Integer> getStatus(){Integer status = (Integer) redisTemplate.opsForValue().get("SHOP_STATUS");log.info("获取营业状态为:{}", status==1? "营业中":"打烊中");return Result.success(status);}
}package com.sky.controller.user;import com.sky.result.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@ApiOperation("店铺相关接口")
@RestController
@RequestMapping("/user/shop")
@Slf4j
public class ShopController {@Autowiredprivate RedisTemplate redisTemplate;/*** 获取店铺的营业状态* @return*/@ApiOperation("获取店铺的营业状态")@RequestMapping("/status")public Result<Integer> getStatus(){Integer status = (Integer) redisTemplate.opsForValue().get("SHOP_STATUS");log.info("获取营业状态为:{}", status==1? "营业中":"打烊中");return Result.success(status);}
}
测试成功!
相关文章:

苍穹外卖05 Redis常用命令在Java中操作Redis_Spring Data Redis使用方式店铺营业状态设置
2-8 Redis常用命令 02 02-Redis入门 ctrlc :快捷结束进程 配置密码: 以后再启动客户端的时候就需要进行密码的配置了。使用-a 在图形化界面中创建链接: 启动成功了。 03 03-Redis常用数据类型 04 04-Redis常用命令_字符串操作命令 05 05-Redis常用命令…...

AI工程师系列——面向copilot编程
前言 笔者已经使用copilot协助开发有一段时间了,但一直没有总结一个协助代码开发的案例,特别是怎么问copilot,按照什么顺序问,哪些方面可以高效的生成需要的代码,这一次,笔者以IP解析需求为例,沉淀一个实践案例,供大家参考 当然,其实也不局限于copilot本身,类似…...

【竖排繁体识别】如何将竖排繁体图片文字识别转横排繁体,转横排简体导出文本文档,基于WPF和腾讯OCR的实现方案
一、应用场景 在古籍数字化、繁体文档处理、两岸三地文化交流等场景中,经常需要将竖排繁体文字转换为横排文字。例如: 古籍研究人员需要将竖排繁体文献转换为现代横排简体格式以便编辑和研究出版行业需要将繁体竖排排版转换为简体横排格式两岸三地交流中需要将繁体竖排文档转…...
梳理Spring Boot中三种异常处理
在 Spring Boot 中处理异常确实有多个方式,比如使用 ControllerAdvice、 BasicErrorController、HandlerExceptionResolver等。不同方式适合不同的场景,下面是对这些方式的分析以及如何选择的建议: 🧩 1. ControllerAdvice Exce…...

NFS服务器实验
实验要求 架设一台NFS服务器,并按照以下要求配置 1、开放/nfs/shared目录,供所有用户查询资料 2、开放/nfs/upload目录,为192.168.xxx.0/24网段主机可以上传目录,并将所有用户及所属的组映射为nfs-upload,其UID和GID均为210 3…...
ffmpeg 转换视频格式
使用FFmpeg将视频转换为MP4格式的常用命令: ffmpeg -i input.mov -c:v libx264 -crf 23 -c:a aac output.mp4 -i input.avi:指定输入文件 -c:v libx264:使用H.264视频编码器 -crf 23:控制视频质量(范围18-28&#…...

Java进阶之新特性
Java新特性 参考 官网:https://docs.oracle.com/en/ JDK5新特性 1.自动装箱与拆箱 自动装箱的过程:每当需要一种类型的对象时,这种基本类型就自动地封装到与它相同类型的包装类中。 自动拆箱的过程:每当需要一个值时…...
Python基础学习-Day32
面对一个全新的官方库,是否可以借助官方文档的写法了解其如何使用。 我们以pdpbox这个机器学习解释性库来介绍如何使用官方文档。 大多数 Python 库都会有官方文档,里面包含了函数的详细说明、用法示例以及版本兼容性信息。 通常查询方式包含以下2种&…...
离线服务器算法部署环境配置
本文将详细记录我如何为一台全新的离线服务器配置必要的运行环境,包括基础编译工具、NVIDIA显卡驱动以及NVIDIA-Docker,以便顺利部署深度学习算法。 前提条件: 目标离线服务器已安装操作系统(本文以Ubuntu 18.04为例)…...

AIGC工具平台-卡通图片2D转绘3D
本模块是一款智能化的2D转3D图像处理工具,能够将卡通风格的2D图片自动转换为高质量3D渲染模型,让平面图像焕发立体生机。借助先进的AI深度学习算法,该工具可以精准识别角色轮廓、光影关系、材质纹理等关键元素,自动生成逼真的3D形…...
docker 启动一个python环境的项目dockerfile版本
文件格式 /home/py/docker/ # 项目根目录 ├── Dockerfile # Docker 构建文件 ├── requirements.txt # Python 依赖清单 └── src/ # 项目代码目录└── api_mock.py # Flask 应用入口文件Dockerfile # 使用…...

Java虚拟机 -方法调用
方法调用 方法调用静态链接动态链接案例虚方法与非虚方法虚方法(Virtual Method)非虚方法(Non-Virtual Method) 方法返回地址 方法调用 我们编写Java程序的时候,我们自己写的类通常不仅仅是调用自己本类的方法。调用别…...
基于matlabcd7.x的无网格近似方法
无网格近似方法(Meshless Methods)是一类数值计算方法,用于解决偏微分方程(PDEs)问题,特别是在几何形状复杂或需要动态网格更新的场景中。与传统的有限元方法(FEM)相比,无…...

JMeter JDBC请求Query Type实测(金仓数据库版)
文章目的 在实际性能测试中,JMeter的JDBC Request组件常用于模拟数据库操作。但许多用户对Query Type参数的具体行为存在疑惑。 本文将以金仓数据库KingbaseES为例,通过实测验证每种Query Type的行为,帮助用户明确其使用场景和限制ÿ…...

【内部教程】ISOLAR-AB配置以太网栈|超详细实战版
目录 往期推荐 缩写与定义 关于系统描述(System Description) 1.1 EthCommunicationController 1.2 EthCommunicationConnector 1.2.1 Ports(端口) 1.3 EthPhysicalChannel(以太网物理通道) 1.3.1…...
哈希表和容器中添加元素的方法
push_back v.s. emplace_back: 两者都是在容器末尾添加元素的方法,但是push_back会创建临时对象并进行拷贝构造,而emplace_back是直接构造 //push_back std::vector<MyClass> vec1; MyClass obj1("Object1", 1);//创建一个obj1对象 ve…...

Nginx 核心功能
目录 一:正向代理 1:编译安装 Nginx (1)安装支持软件 (2)创建运行用户、组和日志目录 (3)编译安装 Nginx (4)添加 Nginx 系统服务 2:配置正…...
String.join()-高效字符串拼接
String.join-高效字符串拼接 前言一、基础用法:拼接数组或集合元素(仅分隔符)语法示例 1:拼接字符串数组示例 2:拼接集合元素注意事项 二、进阶用法:结合 Stream API 处理复杂场景示例 1:添加前…...

【Canvas与图标】圆角方块蓝星CSS图标
【成图】 120*120的png图标 大小图: 【代码】 <!DOCTYPE html> <html lang"utf-8"> <meta http-equiv"Content-Type" content"text/html; charsetutf-8"/> <head><title>圆角方块蓝星CSS Draft1</…...
系统性能分析基本概念(5) : 何时开始性能分析
决定何时开始系统性能优化(Performance Optimization)需要根据系统状态、业务需求和资源可用性来判断。以下是触发性能优化的关键场景和时机,结合系统性能分析(如DRAM读取吞吐量等)的背景,保持简洁且实用&a…...
Python实现Web请求与响应
目录 一、Web 请求与响应基础 (一)Web 请求与响应的定义与组成 (二)HTTP 协议概述 (三)常见的 HTTP 状态码 二、Python 的 requests 库 (一)安装 requests 库 (二…...

机器学习 day05
文章目录 前言一、模型选择与调优1.交叉验证2.超参数搜索 前言 通过今天的学习,我掌握了机器学习中模型的选择与调优,包括交叉验证,超参数搜索的概念与基本用法。 一、模型选择与调优 模型的选择与调优有许多方法,这里主要介绍较…...
CentOS Stream安装MinIO教程
1. 下载 MinIO 二进制文件 # 进入 MinIO 安装目录 sudo cd /usr/local/bin/# 下载 MinIO 二进制文件(替换为最新版本链接) wget https://dl.min.io/server/minio/release/linux-amd64/minio chmod x minio2. 创建专用用户和存储目录 # 创建 minio 用户…...

C#新建打开文件对话框
这是Winform直接封装好的打开文件对话框 using System.Windows.Forms; public static string OpenFile(string path) {OpenFileDialog openFileDialog new OpenFileDialog();// 设置对话框属性openFileDialog.Title "选择文件";openFileDialog.InitialDirectory …...

汇川PLC通过开疆智能Profinet转ModbusTCP网关读取西门子PLC数据案例
本案例是客户通过开疆智能Profient转ModbusTCP网关连接汇川PLC的配置案例 Modbus TCP主站即Modbus TCP客户端,Modbus TCP主站最多支持同时与31个Modbus TCP从站 。(Modbus TCP服务器)进行通信。 第一步设置PLC IP地址; 默认PLC…...

零基础入门:MinerU 和 PyTorch、CUDA的关系
💡一句话总结:MinerU 是一个用 PyTorch 跑模型的程序,PyTorch 支持多种加速方式(如 CUDA、MPS),让它跑得快就需要依赖这些加速工具。 PyTorch官网安装教程(可根据系统情况选择不同版本…...

借助IEDA ,Git版本管理工具快速入门
01 引言 一直使用SVN作为版本管理工具,直到公司新来的一批同事,看到我们使用的SVN都纷纷吐槽,什么年代了,还使用SVN。聊下来,才知道人家公司早早就将SVN切成了Git工具,并吐槽SVN的各种弊端。 既然新的技术…...

三维空间,毫秒即达:RTMP|RTSP播放器在Unity中的落地实现
有人问我:在 Unity 里做超低延迟的直播播放,是什么感觉? 我说,是把一帧帧流动的时间,嵌进一个三维的空间里。 它不属于现在,也不属于过去。 它属于“实时”——属于那一秒内刚刚发生,却已被你看…...
【计算机网络】HTTP/1.0,HTTP/1.1,HTTP/2,HTTP/3汇总讲解,清晰表格整理面试重点对比
表格汇总 对比维度HTTP/1.0HTTP/1.1HTTP/2HTTP/3传输协议TCPTCPTCP/TLS(默认加密)UDP(基于 QUIC 协议)连接方式短连接(每次请求/响应后断开)引入持久连接(Persistent Connection)&a…...

ubuntu 搭建FTP服务,接收部标机历史音视频上报服务器
1.安装vsftpd 1.1.安装命令 sudo apt update sudo apt install vsftpd 1.2.备份原始配置文件 sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak 1.3.配置 vsftpd 编辑配置文件 /etc/vsftpd.conf: sudo vim /etc/vsftpd.conf 将以下参数修改为对应值ÿ…...