NoSQL之Redis配置与优化

目录

关系数据库和非关系数据库

关系型数据库

非关系型数据库

关系数据库和非关系数据库的区别

Redis安装部署

优点

Redis数据库常用命令

Redis持久化

Redis性能管理

非关系数据库产生背景

总结关系与非关系

了解redis

redis优点

redis为什么这么快


1、线程池优化

2、硬件优化

3、索引优化

4、慢查询日志

5、内存优化

6、连接数优化(超时时间)

7、分库分表

8、存储过程

关系数据库和非关系数据库

关系型数据库

一个结构化的数据库,创建在关系模型基础上 一般面向于记录 包括 Oracle、MySQL、SQL Server、 Microsoft Access、DB2等

非关系型数据库

除了主流的关系型数据库外的数据库,都认为是非关系型 包括

Redis、MongBD、Hbase、CouhDB等

关系数据库和非关系数据库的区别

关系数据库:

  1. 数据组织:关系数据库使用表(Table)的方式来组织数据,每个表包含固定的列和行,而每行的数据必须符合表定义的结构。

  2. 数据模型:关系数据库采用结构化数据模型,使用事先定义好的表结构、字段类型和关系约束,比较适合存储结构化和相对稳定的数据。

  3. 数据一致性:关系数据库强调数据一致性和完整性,通过使用ACID(原子性、一致性、隔离性和持久性)事务来确保数据的正确性。

  4. 强大的查询语言:关系数据库使用结构化查询语言(SQL)进行数据查询和操作,提供了强大且灵活的查询能力。

  5. 数据关联:关系数据库通过外键关联来实现多个表之间的关系,保持数据的一致性和完整性。

  6. 可扩展性:关系数据库通常采用垂直扩展方式,通过增加更强大的硬件来提高性能和容量。

非关系数据库:

  1. 数据组织:非关系数据库使用各种数据结构来组织数据,如键-值对(Key-Value)、文档(Document)、列族(Column Family)等,数据结构相对灵活。

  2. 数据模型:非关系数据库采用非结构化或半结构化数据模型,适用于存储非规范化和半结构化的数据。

  3. 弱一致性:非关系数据库通常强调分布式系统的可伸缩性和高性能,牺牲了一致性,提供了最终一致性、柔性事务等不同级别的数据一致性保证。

  4. 灵活的查询语言:非关系数据库使用不同的查询语言或API进行数据操作,例如MongoDB使用类似JSON的查询语法。

  5. NoSQL特性:非关系数据库一般支持NoSQL(Not Only SQL)的特性,如水平扩展、分布式架构和高可用性等。

  6. 可扩展性:非关系数据库通常采用水平扩展方式,通过增加更多的节点来提高性能和容量。

总的来说,关系数据库更适合存储结构化和事务性较强的数据,而非关系数据库则更适合存储半结构化、非规范化和需要高性能和可伸缩性的数据。选择使用哪种类型的数据库取决于具体应用场景和需求。

Redis安装部署

Redis基于内存运行并支持持久化

采用key-value (键值对)的存储形式

优点

具有极高的数据读写速度

支持丰富的数据类型

支持数据的持久化

原子性

支持数据备份

Redis数据库常用命令

  • SET key value:设置指定键的值。

  • GET key:获取指定键的值。

  • DEL key:删除指定键。

  • KEYS pattern:查找符合给定模式的键。

  • EXPIRE key seconds:为键设置过期时间。

  • INCR key:将键的值递增1。

  • LPUSH key value:将值从列表左侧推入。

  • LPOP key:从列表左侧弹出一个值。

Redis持久化

Redis 提供两种持久化方式,可将数据保存到磁盘以防止数据丢失。

  • RDB(Redis Database)持久化:将内存中的数据定期保存到磁盘上的二进制文件。

  • AOF(Append-Only File)持久化:将每个写操作追加到文件末尾,重启时重新执行这些写操作进行数据恢复。

Redis性能管理

  • 使用适当的数据结构和命令:Redis 提供了多种数据结构和相应的命令,根据具体需求选择合适的数据结构和命令,以提高性能。

  • 设置合理的内存策略:通过配置 Redis 的最大内存限制和淘汰策略来管理数据在内存中的存储。

  • 使用持久化功能:将数据进行持久化可以防止意外数据丢失,并在重启后恢复数据。

非关系数据库产生背景

  1. 随着互联网应用的发展,传统的关系型数据库在处理大规模、高并发、分布式等场景下遇到了一些挑战,例如扩展性、性能和灵活性等方面。为了解决这些问题,非关系型数据库应运而生,它们采用了不同的数据模型和存储方式,以满足特定场景的需求。

总结关系与非关系

  • 关系数据库适用于结构化和事务性较强的数据,而非关系数据库适用于半结构化、非规范化和需要高性能和可伸缩性的数据。

  • 关系数据库强调一致性和完整性,支持 ACID 事务,而非关系数据库则更注重分布式系统的可伸缩性和高性能,并提供了最终一致性的保证。

  • 关系数据库使用 SQL 进行数据操作,而非关系数据库使用各种不同的查询语言或 API。

  • 关系数据库采用垂直扩展,而非关系数据库采用水平扩展。

了解redis

Redis是一种开源的高性能键值存储系统,它以内存作为数据存储介质,通过简单而强大的键值对结构来存储数据,并提供了多种数据结构的支持。Redis的名字来自于"Remote Dictionary Server"的缩写。

Redis支持的数据结构包括字符串(String)、列表(List)、哈希表(Hash)、集合(Set)和有序集合(Sorted Set)。这些数据结构不仅可以存储简单的键值对,还可以进行复杂的操作。例如,它允许在列表中添加、删除和获取元素,对集合执行交集、并集和差集运算,对有序集合按照分数进行排序等。

Redis具有以下特点:

  1. 高性能:Redis将数据存储在内存中,读写速度非常快。

  2. 丰富的数据类型:Redis支持多种数据类型,适用于不同的应用场景。

  3. 持久化:Redis可以将数据保存到磁盘上,以防止数据丢失。

  4. 多功能:Redis提供了很多有用的功能,如发布/订阅、事务和Lua脚本等。

  5. 分布式:Redis支持主从复制和分片等方式进行水平扩展。

Redis广泛应用于缓存、队列系统、计数器、实时排行榜、发布/订阅系统等场景。它的简单、高效和可靠的特性使得它成为很多应用程序的首选数据存储解决方案之一。

redis优点

  • 高性能:Redis 将数据存储在内存中,读写速度非常快。

  • 支持丰富的数据结构:Redis 提供了多种数据结构(如字符串、列表、哈希表等),使其更适合处理不同类型的数据。

  • 可扩展性:Redis 可以通过主从复制和分片等方式进行水平扩展,以满足高并发和大容量的需求。

  • 持久化支持:Redis 支持 RDB 和 AOF 两种持久化方式,可以将数据保存到磁盘以防止数据丢失。

  • 丰富的功能:Redis 提供了许多有用的功能,如发布/订阅、事务支持和 Lua 脚本等。

redis为什么这么快

  • 数据存储在内存中:由于 Redis 将数据存储在内存中,读写操作都是在内存中完成,所以具有很高的读写速度。

  • 单线程模型:Redis 使用单线程模型处理客户端请求,避免了多线程切换和加锁的开销。

  • 非阻塞 I/O:Redis 使用了事件驱动的非阻塞 I/O 模型,实现高效的网络通信和请求处理。

  • 优化的数据结构和算法:Redis 使用了优化的数据结构和算法,如跳跃表(Skip List)和快速字符串编码等,提高了性能和存储效

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/45674.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Doris(二) -通过外部表同步数据

前言 参考网址 1.官网 2.ODBC External Table Of Doris 3.Apache doris ODBC外表使用方式 第一步 创建 RESOURCE DROP RESOURCE IF EXISTS mysql_test_odbc; CREATE EXTERNAL RESOURCE mysql_test_odbc PROPERTIES ( "type" "odbc_catalog", "…

java 支持jsonschema

入参校验产品化 schema_xsd可视化编辑器_个人渣记录仅为自己搜索用的博客-CSDN博客 jsonchema的生成 支持v4的jackson-jsonSchema GitHub - mbknor/mbknor-jackson-jsonSchema: Generate JSON Schema with Polymorphism using Jackson annotations jackson-module-jsonSchema …

WPF实现DiagramChart

1、文件架构 2、FlowChartStencils.xaml <ResourceDictionary xmlns"http://schemas.microsoft.com/winfx/2006/xaml/presentation"xmlns:x"http://schemas.microsoft.com/winfx/2006/xaml"xmlns:s"clr-namespace:DiagramDesigner"xmlns:c&…

大语言模型LLM技术赋能软件项目管理和质量保障︱微软中国高级研发经理步绍鹏

微软中国高级研发经理步绍鹏先生受邀为由PMO评论主办的2023第十二届中国PMO大会演讲嘉宾&#xff0c;演讲议题&#xff1a;大语言模型LLM技术赋能软件项目管理和质量保障。大会将于8月12-13日在北京举办&#xff0c;敬请关注&#xff01; 议题内容简要&#xff1a; 本次分享将…

DSSAT模型教程

详情点击链接&#xff1a;R语言与作物模型&#xff08;DSSAT模型&#xff09;教程 前言 随着基于过程的作物生长模型&#xff08;Process-based Crop Growth Simulation Model&#xff09;的发展&#xff0c;R语言在作物生长模型和数据分析、挖掘和可视化中发挥着越来越重要的…

mac brew安装 node 踩坑日记- n切换node不生效

最近用了一个旧电脑开发&#xff0c;发现里面node管理混乱&#xff0c;有nvm、n和homebrew&#xff0c;导致切换node 切换不了&#xff0c;开发也有莫名其妙的错误。所以我打算重新装一下node&#xff0c;使用n做为管理工具。 1. 删除nvm cd ~ rm -rf .nvm2. 删除n sudo rm -…

只需要5个技巧,就能让你的独立站更吸引客户

人类很简单——我们都更喜欢第一眼看起来令人心情愉悦的的东西。独立站卖家自由度更高&#xff0c;可以添加很多令人惊叹的产品、调整更优惠的价格并设置多种语言选择来吸引访问者购买&#xff0c;但网站的设计仍然是大多数访问者判断独立站品牌的第一要素。根据可靠调研得知&a…

SpringBoot实战(二十二)集成 Sleuth、Zipkin

目录 一、简介1.Sleuth2.Zipkin 二、搭建 zipkin-server1.jar包启动2.docker启动3.自己搭建**Maven依赖**添加启动类注解 4.页面截图 三、搭建 sleuth-zipkin1.Maven 依赖2.yaml配置3.代码实现DemoController.javaDemoFeignClient.java 4.测试 一、简介 1.Sleuth 官方文档&am…

7-17-7.24 三维重建

3D重建 context capture中无人机航拍建模的基本原理 如何测量物体的实际长宽数据 1.添加用户控制点 2.添加范围约束&#xff0c;标定两个控制点之间的实际距离 无人机航拍中坐标和经纬度信息是如何确定的 pos数据由飞控系统在相机拍照时生成&#xff0c;与相片一一对应&#…

python与深度学习(五):CNN和手写数字识别

目录 1. 说明2. 卷积运算3. 填充4. 池化5. 卷积神经网络实战-手写数字识别的CNN模型5.1 导入相关库5.2 加载数据5.3 数据预处理5.4 数据处理5.5 构建网络模型5.6 模型编译5.7 模型训练、保存和评价5.8 模型测试5.9 模型训练结果的可视化 6. 手写数字识别的CNN模型可视化结果图7…

数学建模学习(2):数学建模各类常用的算法全解析

一、评价类算法 常见的评价算法 1.层次分析法 基本思想 是定性与定量相结合的多准则决策、评价方法。将决策的有关元素分解成 目标层、准则层和方案层 &#xff0c;并通过人们的 判断对决策方案的 优劣进行排序 &#xff0c;在此基础上进行定性和定量分析。它把人的思维过程…

AWS IAM介绍

前言 AWS是世界上最大的云服务提供商&#xff0c;它提供了很多组件供消费者使用&#xff0c;其中进行访问控制的组件叫做IAM(Identity and Access Management)&#xff0c; 用来进行身份验证和对AWS资源的访问控制。 功能 IAM的功能总结来看&#xff0c;主要分两种&#xff1…

【代码随想录day20】二叉搜索树的最小绝对差

题目 给你一个二叉搜索树的根节点 root &#xff0c;返回 树中任意两不同节点值之间的最小差值 。 差值是一个正数&#xff0c;其数值等于两值之差的绝对值。 思路 最简单的一个思路是使用中序遍历&#xff0c;从二叉排序树中得到有序序列&#xff0c;存储到self.elem中&…

Mac苹果系统安装双系统Windows10 Windows11 BOOTCAMP

Mac系统安装双系统Windows10 BOOTCAMP详细 1.下载Windows系统2.开始安装3.安装驱动4.默认启动5.备注 1.下载Windows系统 注意一下所有安装全程接充电器操作&#xff0c;以免安装过程中电脑断电带来不必要影响。 从下列方式选择合适的系统进行下载。 MSDN https://msdn.itelly…

【code】使用git将本地代码托管至码云

创建远程仓库 在码云&#xff08;gitee.com&#xff09;网站上登录你的账号&#xff0c;然后点击页面右上角的加号图标&#xff0c;选择"新建仓库"&#xff0c;填写仓库名称、描述等信息&#xff0c;创建一个新的远程仓库。 生成SSH密钥 在Git上传代码到远程仓库…

p7付费课程笔记5:串行gc以及并行gc

前言 前段时间我们学习jvm的基础结构和gc相关的基础知识&#xff0c;今天我们详细讲讲几大gc。 串行gc 串行 GC 对年轻代使用 mark-copy (标记-复制) 算法&#xff0c;对老年代使用 mark-sweep-compact (标记-清除-整理) 算法。 两者都是单线程的垃圾收集器&#xff0c;不能…

windows 系统安装sonarqube

SonarQube是一种自动代码审查工具&#xff0c;用于检测代码中的错误&#xff0c;漏洞和代码异味。它可以与您现有的工作流程集成&#xff0c;以便在项目分支和拉取请求之间进行连续的代码检查。 官方网站&#xff1a; https://www.sonarqube.org/ 1. 使用前提条件 运行SonarQ…

FCPX插件-15组金色华丽粒子特效闪耀动画 Awards Backgrounds

Awards Backgrounds是fcpx上一个很棒的电影级效果插件&#xff0c;Awards Backgrounds 包含15组金色华丽粒子特效闪耀动画&#xff0c;可以为您的作品创建豪华的背景或叠加特效&#xff01;包含各种带有可编辑颜色的下落闪闪发光粒子的场景。用于展示奖项提名者、优雅的表演、祝…

【历史上的今天】7 月 24 日:Caldera 诉微软案;AMD 宣布收购 ATI;谷歌推出 Chromecast

整理 | 王启隆 透过「历史上的今天」&#xff0c;从过去看未来&#xff0c;从现在亦可以改变未来。 今天是 2023 年 7 月 24 日&#xff0c;在 1951 年的今天&#xff0c;晶体管发明家 John Bardeen 通知 AT&T 贝尔实验室&#xff0c;他将离开公司&#xff0c;与 Walter B…

数据结构【数组、串、广义表】

第四章 数组、串、广义表 一、数组 1.概念&#xff1a;线性表是通过数组实现的&#xff0c;数组是线性表的推广&#xff0c;数组只有存取元素和修改元素的操作&#xff08;除了初始化和销毁&#xff09;&#xff1b; 2.数组的存储结构&#xff1a;一个数组的所有元素在内存中占…