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

相关推荐
蒸蒸yyyyzwd1 小时前
cpp对象模型学习笔记1.1-2.8
java·笔记·学习
银发控、1 小时前
MySQL联合索引
数据库·mysql
予枫的编程笔记2 小时前
【MySQL修炼篇】从踩坑到精通:事务隔离级别的3大异常(脏读/幻读/不可重复读)解决方案
数据库·mysql·后端开发·数据库事务·事务隔离级别·rr级别·脏读幻读不可重复读
睡美人的小仙女1272 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
程序员徐师兄2 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
RANCE_atttackkk2 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
徐同保2 小时前
解决 Vue 3 项目 TypeScript 编译错误:@types/lodash 类型定义不兼容
redis·网络协议·https
五岳3 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
一起养小猫3 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
世界尽头与你3 小时前
(修复方案)CVE-2023-22047: Oracle PeopleSoft Enterprise PeopleTools 未授权访问漏洞
数据库·安全·oracle·渗透测试