java从头开始-苍穹外卖day05-Redis及店铺营业状态设置

这里是键值对,但是mysql是二维表结构

启动Redis

路径键入cmd打开命令行

启动redis的服务器端:输入命令:redis-server.exe redis.windows.conf,然后回车。需要格外注意的是其中有个空格,别忘了。端口号默认6379。结束运行也很简单,只需要ctrl+C即可停止

*启动redis的客户端,输入命令:redis-cli.exe。后面的keys 是一个测试用的命令,如下就是正确运行了。客户端的退出是exit命令,和服务器端不太一样。有时候想要链接别的地方别的端口的服务,可以使用下面的命令

用户使用密码登录

在登录命令后面增加一个 -a 密码

使用图形界面更加简单


下图第二个就是输入命令窗口,可视化界面可以直接找到所有存储的数值

redis的五中数据类型


各种操作命令

字符串命令

哈希操作命令

列表操作命令

这里的L表示是left表示从左侧查询,如果是R就是从右侧

左侧插入以后发现是一个倒叙的,说明此时下面是表尾部,上面是表头部,因为这里面都是从头插入,从尾部取出,有点像队列

集合操作命令

注意集合中的成员都是唯一的,不能重复。

## 有序集合操作命令

需要注意的是这个有序集合是自动排序的。默认升序,但是可以通过图形界面调整

通用命令

比如keys ,就是查找所有类型的key
比如keys set
,就是查找所有以set开头的key

删除命令可以一次写多个

Java中操作Redis




redis数据库默认创建16个数据库,可以自选使用哪个数据库

可以通过RedisTemplate对象来控制Redis,下面的方法是来生成相应的RedisTemplate对象的

此时就可以使用单元测试来对这个类进行测试了


针对五类变量的操作封装在了相应的对象中,而这些对象可以使用RedisTemplate来生成

操作字符串类型值对应的方法和代码,需要注意的一点是存储以及查询返回的都是Object类型的而不是字符串。这是因为无论什么类型存储都会转成redis的字符串类型,因此对于java实际上用Object存储即可

对于具体数值可能发现值有乱码,而键无乱码,这是因为直接使用Java进行操作导致的。而键设置了序列化器,就不会乱码,如果没设置也会乱码

操作哈希类型数据

操作列表类型数据

操作集合类型数据

操作有序集合类型数据

通用命令

店铺营业状态设置






之所以使用redis而不是存储到mysql就是因为只有一个属性,一个店只有一个状态属性,没必要建立一个新的表

代码实现还是比较简单的

还给Knife4j 文档分了一个类

在WebMvcConfiguration.java文件中额外配置了一个docket对象分别读取不同的目录就可以了

复习一下:打开页面为 ip:端口号/doc.html。如果配置完成后出现异常记得重新打开一下idea以及Knife4j 文档

相关推荐
A-Jie-Y几秒前
JAVA设计模式-抽象工厂模式
java·设计模式
gCode Teacher 格码致知8 分钟前
Javascript提高:自定义的占位符替换-由Deepseek产生
开发语言·javascript·ecmascript
是个西兰花13 分钟前
C++11:智能指针
开发语言·c++·智能指针·rall
@insist12313 分钟前
信息安全工程师-密码学专题(下):构建可信网络空间的核心机制
java·大数据·密码学·软考·信息安全工程师·软件水平考试
摇滚侠22 分钟前
Java 零基础全套视频教程,面向对象(高级),笔记 105-120
java·开发语言·笔记
CN-Dust30 分钟前
【C++专题】输出cout例题
开发语言·c++
叶落阁主30 分钟前
Spring Boot 4 实战:Jackson 2.x 升级到 3.x 踩坑全记录
java·后端·架构
布吉岛的石头30 分钟前
Java 中高级面试:JVM 内存模型 + GC 算法高频题总结
java·jvm·面试
时空系31 分钟前
第6篇:多维数据盒——管理大量数据 python中文编程
开发语言·python·ai编程
charlie11451419134 分钟前
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础
linux·开发语言·驱动开发·内核·c