尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
黑马苍穹外卖笔记day5
Redis:Redis是一个基于内存的key-value结构数据库基于内存存储读写性能高适合存储热点数据热点商品、资讯、新闻企业应用广泛C盘中的redis文件夹放了redis的服务双击redis-server.exe可以运行redis服务端双击redis-cli.exe可以运行redis客户端也可以通过命令行 运行 redis-cli.exe -h localhost -p 6379命令来运行客户端服务端运行状态下Redis基础Redis数据类型:Redis存储的是key-value结构的数据其中key是字符串类型value有五种常用的数据类型字符串string普通字符串Redis中最简单的数据类型哈希hash也叫散列类似于java中的HashMap结构列表list按照插入顺序排序可以有重复元素类似于Java中的LinkedList集合set无序集合没有重复元素类似于Java中的HashSet有序集合sorted set/zset集合中每个元素关联一个分数(score)按照分数升序排序无重复元素Redis常用命令字符串操作命令SET key value设置指定key的值GET key获取指定key的值SETEX key seconds value设置指定key的值并将key的过期时间设定为seconds秒SETNX key value只有在key不存在时设置key的值哈希操作命令Redis hash是一个string类型的field和value的映射表hash特别适合用于存储对象HSET key field value将哈希表key中的字段field的值设为valueHGET key field获取存储在哈希表中指定字段的值HDEL key field删除存储在哈希表中的指定字段HKEYS key获取哈希表中所有字段HVALS key获取哈希表中所有值列表操作命令Redis列表是简单的字符串列表按照插入顺序排序类似队列LPUSH key value1 [value2]将一个或多个值插入到列表头部返回列表长度LRANGE key start stop获取列表指定范围内的元素RPOP key移除并获取列表最后一个元素LLEN key获取列表长度集合操作命令Redis set是string类型的无序集合。集合成员是唯一的集合中不能出现重复的数据SADD key member1 [member2]向集合添加一个或多个成员SMEMBERS key返回集合中的所有成员SCARD key获取集合的成员数SINTER key1 [key2]返回给定所有集合的交集SUNION key1 [key2]返回所有给定集合的并集SREM key member1 [member2]删除集合中一个或多个成员有序集合操作命令Redis有序集合是string类型元素的集合且不能重复每个元素都有一个double类型的分数ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合中指定区间内的成员ZINCRBY key increment member有序集合中对指定成员的分数加上增量incrementZREM key member [member ...]删除有序集合中的一个或多个成员通用命令Redis的通用命令是不分数据类型的都可以使用的命令KEYS pattern查找所有符合给定模式(pattern)的keyEXISTS key检查给定key是否存在TYPE key返回key所存储的值的类型DEL key该命令用于在key存在时删除key在Java中操作Redis在Spring项目中可以使用Spring Data Redis来简化操作Spring Data Redis使用方式配置Redis的模板对象需要使用Redis时先自动注入redisTemplate然后使用下面的方法来获取Redis中存储的数据字符串操作方法set(key,value)set(key,value,timeout,timetype) 设置过期时间get(key)setIfAbsent(key,value) 等价于SETNX哈希操作方法put(key,field,value)get(key,field)delete(key,field)keys(key) 返回Set集合存放filedvalues(value)返回List集合存放value列表操作方法leftPushAll(key,values...) :一次插入多个数据leftPush(key,value)range(key,start,end)遍历列表返回一个集合rightPop(key):从右侧弹出一个数据size(key)获取列表大小集合操作方法add(key,values..):一次插入一个或多个数据members(key):返回集合中所有元素存在一个set中size(key):获取大小intersect(key1,key2):获取两个集合交集存在一个set中union(key1,key2)获取两个集合并集存在一个set中remove(key,values..)一次删除一个或多个数据有序集合操作方法add(key,value,score)插入一个数据并附加分数range(key,start,end):从左边遍历集合并返回一个setincrementscore(key,value,inc)对value的分数增加一个inc量remove(key,values...)一次删除一个或多个数据通用命令操作方法直接使用redisTemplate.方法来调用keys(pattern):返回所有符合pattern的key的集合hasKey(key):返回一个bool值判断key是否存在type(key)返回这个键值对中value的类型存在一个DataType对象中delete(key)根据key删除一个键值对店铺营业状态设置接口设计设置营业状态管理端查询营业状态用户端查询营业状态本项目约定管理端发出的请求统一使用/admin作为前缀用户端发出的请求统一使用/user作为前缀营业状态数据存储方式基于Redis的字符串来进行存储注意查询营业状态需要在管理端和用户端都用一个ShopController来实现。然而由于Bean使用的是单例模式两个不同软件包下的同名类会报错这时候就要改变Bean的唯一标识也就是名称可以在RestController这个注释中进行更改RestController(userShopController)和RestController(adminShopController)要想在接口文档中区分管理员端和用户端的接口需要在WebMvcConfiguration这个配置类下分别使用两个方法通过knife4j生成管理员端和用户端的接口文档
RELATED

相关推荐

Java项目Jar包冲突实战:Bouncy Castle与东方通中间件版本冲突解决方案

Java项目Jar包冲突实战:Bouncy Castle与东方通中间件版本冲突解决方案

1. 项目概述:当Bouncy Castle遇上东方通,一场典型的Jar包冲突攻坚战在Java后端开发,特别是涉及国密算法、证书处理等安全领域的项目中,Bouncy Castle(简称BC)这个加密提供者库几乎是绕不开的基石。然而&…

📅 2026/10/14 8:24:34
Python音频处理实战:基于MFCC与Chroma特征实现音乐片段自动提取

Python音频处理实战:基于MFCC与Chroma特征实现音乐片段自动提取

最近在开发一个音乐类应用时,需要处理大量来自电视节目、综艺的音频片段,比如《开门大吉》这类节目中的歌曲片段。一个核心需求是,如何从这些长音频中,精准、高效地提取出我们需要的“高光时刻”,比如某位歌手演唱的特…

📅 2026/10/6 18:52:12
算法竞赛晋级策略:从省赛到国赛的规则解读与备赛优化

算法竞赛晋级策略:从省赛到国赛的规则解读与备赛优化

这次我们来看一个关于算法竞赛选手的真实经历分享。标题“分区赛全省第三无缘国赛😭”背后,是一个在区域赛取得优异成绩,却因赛制规则与国赛名额限制而遗憾止步的故事。这不仅仅是个人情绪的宣泄,更是对当前主流算法竞赛&#xff…

📅 2026/10/12 8:48:41
MORE NEWS

更多资讯

📰

四级英语建议信写作技巧与高分策略

1. 项目背景与核心需求四级作文作为大学英语考试的重要组成部分,一直是考生备考的重点难点。2025年12月这套真题要求学生以建议信的形式就学生会工作改进提出意见,这种题型既考察英语表达能力,又检验学生解决实际问题的思维能力。从教学实践来…

📰

AnyPS5通用化改造:协议转换、能力抽象与性能优化实战

1. 从"AnyPS5"这个名字说起:它到底想解决什么问题第一次看到"AnyPS5"这个标题,我脑子里蹦出来的第一个念头是:这大概率是一个围绕"跨平台运行"或"通用化改造"的项目。名字里的"Any"通常意…

📰

1400张实拍车辆数据集:YOLOv5直接训练的工业级VOC格式数据

简介:本资源是一套面向人工智能与深度学习初学者及实战开发者的高质量车辆目标检测数据集,专为YOLO系列模型(v3/v4/v5)训练优化,适用于智能交通、自动驾驶辅助、安防监控等场景的车辆识别任务。数据集共2800个文件&…

📰

ECDSA门限签名原理与区块链安全实践

1. ECDSA门限签名方案概述 在传统的数字签名方案中,私钥通常由单一实体持有,这带来了单点故障和安全风险。门限签名方案(Threshold Signature Scheme, TSS)通过将签名能力分散到多个参与者手中,有效解决了这一问题。EC…

📰

水下光无线通信Matlab仿真建模与优化

1. 项目背景与核心价值 水下光无线通信(Underwater Optical Wireless Communication, UOWC)是近年来海洋探测、水下监测等领域的热门研究方向。相比传统的水声通信,光通信具有带宽高、延迟低、抗干扰性强等显著优势。特别是在50米以内的浅水区…

📰

Qt QSlider自定义:带气泡游标的滑块实现与避坑指南

简介:针对标准QSlider无法在滑块正上方显示当前值的痛点,这份资源提供了一套基于Qt的自定义滑块实现方案,适合需要实时数值反馈的桌面应用开发者参考。资源包含完整可运行的testSlider工程,通过继承QSlider并重写paintEvent()绘制…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬