基础部分我在苍穹外卖就写过,这里当做是复习再写一遍,安装问题在视频里面的linux安装,苍穹是windows安装,苍穹还提供了现成的一些文件。对这部分感兴趣的可以看我之前整理的redis知识点。苍穹外卖项目&第四部Redis技术总结 -CSDN博客
目录
NoSQL
非关系型数据库



redis是单线程
存储在内存上,查询效率比在磁盘高很多。
- 内存(RAM) :是临时的、高速的"工作台",用于存放CPU正在处理或即将处理的数据和程序。断电后数据丢失。
- 磁盘(HDD/SSD) :是永久的、相对慢速的"仓库",用于长期存储操作系统、应用程序、文件等所有数据。断电后数据不丢失。
数据库的水平扩展是通过增加服务器数量,将数据和负载分散到多个节点上来提升系统整体能力。它通过分片 、读写分离等技术实现,是应对海量数据和高并发访问的主流解决方案。虽然带来了卓越的扩展性和可用性,但也引入了显著的架构复杂性和分布式系统固有的挑战(如一致性、跨节点操作)。现代云原生应用和大型互联网服务普遍采用水平扩展的架构。
Redis简介

对于安全性,redis会定期将内存信息装换到磁盘。
Redis安装
config的一些配置问题
我用的是windows安装,具体操作看黑马的苍穹外卖。

daemonize配置在windows里面没有作用,我查询ai的答复是
Windows 的运行机制和 Linux 不同。你的程序(如 Redis)在 Windows 上会以它自己的方式(通常是前台或通过服务)运行。

redis的数据库只有16个,是创建好的。
可以设置最大内存以及日志文件,文件位置会存储到redis文件的位置。
客户端操作
有三种操作形式,终端命令行,图形化界面,以及编程操作。我使用的是苍穹外卖里面提供的图形化界面app操作方式。

可视化app依旧是使用的是黑马苍穹外卖提供的
数据结构
查看文档
这部分的一些命令建议直接到redis官网查看相关文档。
在终端命令行也可以查看相关帮助,命令 help @+想要查询的数据类型。

操作讲解
但数据量很打的时候使用模糊查询会增加很大的压力,有因为redis是单线程,这会阻塞所有请求。有主从关系可以在从节点使用。
常用命令

String类型


key的层级格式

用冒号隔开会自然形成层级的包结构

hash类型


list类型
可以理解为一个双向链表


set类型


SortedSet类型


java客户端
在官网有几种java客户端

jedis的线程问题
由于 Jedis 实例不是线程安全的,如果你的应用程序是多线程的,并且每个线程都需要与 Redis 进行交互,那么你不能简单地创建一个全局的 Jedis 实例供所有线程共享。相反,你需要为每个线程提供独立的 Jedis 实例。
但是,频繁地创建和销毁 Jedis 实例会带来性能开销。因此,通常的做法是使用连接(Connection Pool)来管理这些 Jedis 实例。连接池预先创建了一定数量的 Jedis 实例,并将它们存储在一个池中。当某个线程需要与 Redis 交互时,它可以从连接池中获取一个 Jedis 实例;当操作完成后,再将这个实例归还给连接池,以便其他线程可以重用。