【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数据库的查询能力相对较弱,通常只支持基本的查询操作。
相关推荐
LuH11241 小时前
【论文阅读笔记】IC-Light
论文阅读·笔记
汤姆和佩琦1 小时前
2024-12-25-sklearn学习(20)无监督学习-双聚类 料峭春风吹酒醒,微冷,山头斜照却相迎。
学习·聚类·sklearn
是小菜呀!1 小时前
实验四 触发器
笔记
悲伤小伞1 小时前
C++_数据结构_详解二叉搜索树
c语言·数据结构·c++·笔记·算法
好学近乎知o1 小时前
正则表达式(学习Django过程中可能涉及的)
学习·正则表达式·django
雨中奔跑的小孩1 小时前
爬虫学习案例8
爬虫·学习
jieshenai1 小时前
使用 VSCode 学习与实践 LaTeX:从插件安装到排版技巧
ide·vscode·学习
灰太狼不爱写代码4 小时前
CUDA11.4版本的Pytorch下载
人工智能·pytorch·笔记·python·学习
eybk10 小时前
Pytorch+Mumu模拟器+萤石摄像头实现对小孩学习的监控
学习
6.9410 小时前
Scala学习记录 递归调用 练习
开发语言·学习·scala