点评项目(Redis中间件)&第一部分Redis基础

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

目录

NoSQL

Redis简介

Redis安装

config的一些配置问题

客户端操作

​编辑数据结构

查看文档

操作讲解

常用命令

String类型

key的层级格式

hash类型

list类型

set类型

SortedSet类型

java客户端

jedis的线程问题


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 实例;当操作完成后,再将这个实例归还给连接池,以便其他线程可以重用。

相关推荐
麦聪聊数据12 小时前
Web 原生架构如何重塑企业级数据库协作流?
数据库·sql·低代码·架构
未来之窗软件服务12 小时前
数据库优化提速(四)新加坡房产系统开发数据库表结构—仙盟创梦IDE
数据库·数据库优化·计算机软考
Ro Jace13 小时前
计算机专业基础教材
java·开发语言
mango_mangojuice13 小时前
Linux学习笔记(make/Makefile)1.23
java·linux·前端·笔记·学习
程序员侠客行13 小时前
Mybatis连接池实现及池化模式
java·后端·架构·mybatis
时艰.13 小时前
Java 并发编程 — 并发容器 + CPU 缓存 + Disruptor
java·开发语言·缓存
丶小鱼丶13 小时前
并发编程之【优雅地结束线程的执行】
java
市场部需要一个软件开发岗位13 小时前
JAVA开发常见安全问题:Cookie 中明文存储用户名、密码
android·java·安全
忆~遂愿13 小时前
GE 引擎进阶:依赖图的原子性管理与异构算子协作调度
java·开发语言·人工智能
MZ_ZXD00113 小时前
springboot旅游信息管理系统-计算机毕业设计源码21675
java·c++·vue.js·spring boot·python·django·php