【Redis】Redis7学习笔记

系列文章目录

【Redis】Redis十大类型

【Redis】Redis持久化

【Redis】事务

【Redis】管道

【Redis】发布/订阅(Pub/Sub)

【Redis】复制(Replica)

【Redis】哨兵(sentinel)

【Redis】集群


Redis【Remote Dictionary Server(远程字典服务器)】是用C语言开发的一个基于内存的、开源的高键值对(key value)数据库

Redis通过提供多种键值数据类型来适应不同场景下的存储需求

目前Redis支持的键值数据类型如下:字符串类型String、哈希类型hash、列表类型list、集合类型set、有序集合类型sortedset

Redis可以缓存数据的计算结果、页面内容、数据库查询结果等,通过提高数据访问速度和响应速度,提升系统性能和用户体验。

Redis的数据操作主要在内存上,而Mysql主要在磁盘中。


NoSQL与传统数据库

NoSQL

NoSQL数据库是指非关系型数据库,设计目标是 解决传统关系型数据库在大规模数据存储和高并发读写场景下的性能瓶颈和扩展性问题。

与传统关系型数据库不同,NoSQL数据库不需要预先定义表结构,可以灵活地存储各种类型的数据,如键值对、文档、列族、图形等。

NoSQL数据库的特点包括:

  • 灵活的数据模型:NoSQL数据库可以存储非结构化、半结构化和结构化的数据,适用于各种数据类型和数据模型的存储需求。
  • 高可扩展性:NoSQL数据库可以通过水平扩展来处理大规模数据和高并发读写的需求,可以在集群中添加更多的节点来提高性能和容量。
  • 高性能:NoSQL数据库通过优化数据存储和查询算法,提供高速的数据读写和查询性能。
  • 分布式架构:NoSQL数据库采用分布式架构,数据可以分布在多个节点上,提高数据的可用性和容错性。
  • 弱一致性:NoSQL数据库通常采用最终一致性的策略,即在数据更新后,不保证立即在所有节点上一致,而是在一段时间内达到一致状态。

与传统关系型数据库的区别

与传统关系型数据库相比,NoSQL数据库有以下几个区别:

  • 数据模型:传统关系型数据库需要预先定义表结构,并且每条记录都需要遵循表结构的约束。而NoSQL数据库可以灵活地存储各种类型的数据,不需要预先定义表结构,可以根据实际需求动态调整数据模型。
  • 扩展性:传统关系型数据库在面对大规模数据和高并发读写时,扩展性有限。通常只能通过垂直扩展增加硬件资源来提高性能。而NoSQL数据库可以通过水平扩展来处理大规模数据和高并发读写,可以在集群中添加更多的节点来提高性能和容量。
  • 数据一致性:传统关系型数据库追求强一致性,即在数据更新后,立即在所有节点上达到一致状态。而NoSQL数据库通常采用最终一致性的策略,即在一段时间内达到一致状态,可以容忍一定的数据不一致性。
  • 查询能力:传统关系型数据库提供了丰富的查询操作和聚合函数,可以进行复杂的数据查询和分析。而NoSQL数据库的查询能力相对较弱,通常只支持基本的查询操作。
相关推荐
独泪了无痕4 小时前
Spring Data Redis 快速上手
spring boot·redis·后端
行思理5 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
楚山之石9 小时前
【Medical Image Analysis】深度学习医学图像合成综述:伪CT、合成MRI与合成PET的架构、性能与临床边界
图像处理·人工智能·学习·mr·mri
用户52958931668509 小时前
三马代驾实战:抢单池的 Redis 锁 + RabbitMQ 异步消费怎么做
redis
Li_RuiQi10 小时前
DAgger方法演进_独立学习笔记
笔记·学习·计算机视觉
代码丰10 小时前
跨系统传输大 JSON:直接压缩,还是把数据放进 Redis?
redis·后端·json
SteveSenna12 小时前
aubo学习:realsense手眼标定
学习·机器人·视觉检测
devilnumber13 小时前
Redis 数据类型 + 项目落地场景(面试版,全面、实用,后端常用)
数据库·redis·面试
靳某某。13 小时前
Ubuntu安装php8.4 及redis ngin
linux·redis·ubuntu
Li_RuiQi14 小时前
DAgger与交互式模仿学习_ACT学习笔记
笔记·学习