相识redis

在这里插入图片描述

一、Redis简介

什么是redis?

Redis(全称为Remote Dictionary Server)是一个开源的非关系性数据库用于存储键值对,主要用于数据存储、缓存和消息队列方面,相传redis的初心是做消息队列起家但有心栽花花不开,无心插柳柳成荫。消息对列这一功能并没得到广泛的应用,反而作为缓存而名声大噪。

为什么得到广泛应用?

在这里插入图片描述

“YOUR APP IS ABOUT TO GET FASTER” 从Redis的宣传标语中就可以看到被广泛应用的一个原因就是因为快,相比于其它数据库Redis的数据是存储在内存中的,众所周知内存的读写速度往往是大于硬盘的读写速度,从而提高数据的读写速率。

二、Redis的核心特性

高性能
为什么说其具有高性能特性,主要有以下三种原因
内存存储:数据存储在内存中,数据的存取都在内存中进行, 存取速度大于硬盘。
单线程模型:在Redis6.0之前,都是以单线程模式进行操作内存,避免了线程阻塞、线程切换等一系列的开销。
IO多路复用:简单来说Reids允许单个线程同时处理多个客户端连接,每个客户端都是通过单线程来进行数据交流,从而大大提高了高并发下的性能要求。
支持多种数据结构
Redis是一种非关系性数据库,相对于关系性数据库mysql使用表来存储数据,而Redis则是以键值对的方式进行存储,value中可以存储String、List、Hash、Set、Zset类型数据,从而进一步满足开发者的工作需求。
持久化
因为Redis将数据存储在内存中,服务器重新启动会导致数据的丢失,为了避免这一问题便引入了持久化特性,通过快照和追加文件的操作将数据备份到硬盘中,数据丢失从硬盘中同步即可。
高可用性
主从复制:Reids将主服务器上的数据复制到其它从服务器上(从服务器可以有一个或多个),主服务器负责写入数据同时同步给从服务器,适用于写少读多的情况,主服务一旦宕机便可从从服务器进行数据恢复。
在这里插入图片描述
集群
Redis集群是一种分布式框架,可以将数据存储在不同服务器中,通过负载均衡器将请求数据分发给不同从服务器,每个服务器都可以进行读写操作,主服务器宕机从服务器可以继续执行任务。
在这里插入图片描述

主从复制和集群的关系:可以理解为主从服务器是集群中的一部分,集群集中管理多个服务器进行数据存储,在通过主从复制对每个服务器实现读写分离操作,进一步体现Redis的高可用性。

三、Redis的应用场景

1.全量数据库
使用redis最为全量数据库主要原因并不是redis存储空间有多大,而是因为其读取速度之快,并非所有应用场景都是存储空间大为好,相对于搜索引擎来说快则是最主要的。
2.缓冲、会话管理
说到缓存到了Redis最拿手的地方,“二八原则”指的是20%的热点数据可以满足80%用户的搜索需求,因此只需将redis作为缓存存储热点数据方便快速搜索,mysql作为全量数据进行存储,即使缓存丢失也可从mysql中重新获取。
Redis可以通过负载均衡器利用特别的方式将会话发送到原有的服务器上,从而避免用户登录信息丢失的问题。
3.消息对列
Redis是做消息对列起家的,但其功能并没有得到市场的认可主要将其作为缓存来进行使用,如项目中对消息队列使用并不是很多可以使用redis进行代替。

四、Redis的优缺点

优点
Redis内存存储、IO多路复用、单线程模型提高了读取速度;多样化的数据结构满足了复杂的开发需求;持久化机制保证了数据的安全性;主从复制集群实现了数据分布式存储和读写分离。
缺点
有利必有弊,优点有时恰好也是缺点,利用内存进行存储同样带来了硬件上不可避免的开销;持久化机制同样需要一定的时间进行同步从而影响性能;独特的单线程模型在某些特定场景可能可能成为其瓶颈。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

WPF+MVVM案例实战(一)- 设备状态LED灯变化实现

文章目录 1、项目创建2、UI界面布局1. MainWindow.xaml2、颜色转换器实现2.MainViewModel.cs 代码实现 3、运行效果4.源代码下载 1、项目创建 打开 VS2022 ,新建项目 Wpf_Examples,创建各层级文件夹,安装 CommunityToolkit.Mvvm 和 Microsof…

react18中react-thunk实现公共数据仓库的异步操作

redux及react-redux都只能实现数据的同步修改更新,有点类似于vue中的mutation,只能做同步操作,异步的话不用actions来实现。由于在项目始终不可避免要实现的异步数据的更新,这明显不够用了。是时候引入我们的异步中间件redux-thun…

长思维PRM

思维链 除了常见的连接词如 “and” 和 “so” 之外。还出现了"wait", Alternatively" 等特殊的关键词,"像 “wait” (表示反思)和 “Alternatively”(表示探索不同路径) 这样的关键词是模型能够进行反思和自我纠正的重要指标 迭代式问题解决&…

【PLC编程】GX Works报未能正常执行RUN中写入解决办法

在PLC编程中按F4转换时报未正常执行RUN中写入,可能是程序不一致。 选择工具->选项 选择RUN中写入。去除转换(编译)中执行RUN中写入 点击确定后,就不会再报此问题。F4转换也能正常转换了。

Java Lock CountDownLatch 总结

前言 相关系列 《Java & Lock & 目录》(持续更新)《Java & Lock & CountDownLatch & 源码》(学习过程/多有漏误/仅作参考/不再更新)《Java & Lock & CountDownLatch & 总结》(学习总…

IE快捷方式加载特定主页

一、某插件安装后,桌面会增加一个首页为特定网站的IE快捷方式(不对原有的IE做任何改动),同时,会把快速启动栏中的IE快捷方式改为特定网站。 解决方案如下: 方法一:直接把桌面新增加的IE快捷方式…

Selenium4自动化测试常用函数总结,各种场景操作实战

🍅 点击文末小卡片 ,免费获取软件测试全套资料,资料在手,涨薪更快 seleninum作为自动化测试的工具,自然是提供了很多自动化操作的函数,下面列举下比较常用的函数,更多可见官方文档:…

网络安全的重要性及实践指南

网络安全的重要性及实践指南 前言 随着信息技术的快速发展,网络安全问题日益突出。无论是个人用户还是企业组织,网络安全都成为了必须重视的问题。本文将深入探讨网络安全的重要性、常见威胁、以及如何有效地保护网络安全。 一、网络安全的重要性 1.…

通过SSL加密服务器流量

要实现通过SSL对客户端和服务器之间的流量进行加密,我们可以选择Stunnel这个开源软件,这个软件实现了客户端和服务器端之间的流量通过TLS进行加密传输。 例如我们现在有一台服务器,在其上安装了代理服务,我们想对连接这个代理服务…

docker常用命令整理

文章目录 docker 常用操作命令一、镜像类操作1.构建镜像2.从容器创建镜像3.查看镜像列表4.删除镜像5. 从远程镜像仓库拉取镜像6. 将镜像推送到镜像仓库中7. 将镜像导出8. 导入镜像9. 登录镜像仓库 二、容器相关操作1. 运行容器2. 进入容器3. 查看容器的运行状态4. 查看容器的日…

QT SSDP 局域网检测支持扫描通信

一. 什么是SSDP? 简单服务发现协议(SSDP,Simple Service Discovery Protocol)是一种应用层协议,简单服务发现协议是在HTTPU和HTTPMU的基础上实现的协议。简单服务发现协议(SSDP)提供了在局域网里面发现设备的机制。客户端可以通过使用SSDP,根据自己的需要,在局域网查找特…

C++20新特性探索:概念(Concepts)与范围库(Ranges)

随着C++标准的不断演进,每一次新版本的发布都带来了诸多令人瞩目的新特性。C++20,作为近年来的一次重大更新,不仅巩固了C++在高性能计算、系统编程等领域的地位,还通过引入一系列创新特性,进一步提升了C++的可用性和表达力。本文将深入探讨C++20中的两大亮点——概念(Con…

丝氨酸/苏氨酸激酶(STKs):前列腺癌治疗的新兴靶点

引言 前列腺癌(PCa)是男性癌症相关死亡的第五大原因,全球约有140万患者,2020年超37.5万死亡病例。 靶向治疗是潜力巨大的领域,PARP、PSMA、STEAP1、DLL3等是前列腺癌治疗的明星靶点。 除此之外,还有哪些…

深度学习之降维和聚类

1 降维和聚类 1.1 图解为什么会产生维数灾难 ​ 假如数据集包含10张照片,照片中包含三角形和圆两种形状。现在来设计一个分类器进行训练,让这个分类器对其他的照片进行正确分类(假设三角形和圆的总数是无限大),简单的…

SMT(表面贴装技术)

一、什么是SMT SMT,即表面贴装技术(Surface Mounted Technology),是一种将元器件直接安装到印刷电路板(PCB)表面的制造方法。这种技术极大地提高了电子产品的密度和性能,是现代电子制造中的关键…

基于逻辑回归进行THUCNews文本分类

项目背景 基于逻辑回归(Logistic Regression)进行THUCNews文本分类的项目背景通常包括以下几个方面: 1. 数据集背景 THUCNews数据集:THUCNews(Tsinghua News Corpus)是由清华大学自然语言处理与社会人文计算实验室整理的新闻文本数据集。该数据集包含约84万篇新闻文档,…

Linux常用命令 yum 命令介绍

目录 yum 语法 yum常用命令 常见命令举例 1. 列出所有可更新的软件清单命令:yum check-update 2. 更新所有软件命令:yum update 3. 仅安装指定的软件命令:yum install 4. 仅更新指定的软件命令:yum update 5. 列出所有可…

安装pygod

了解pygod。 It is recommended to use pip for installation. Please make sure the latest version is installed, as PyGOD is updated frequently: pip install pygod # normal install pip install --upgrade pygod # or update if needed如果pip不是最新的&…

国外白帽故事 | 通过OSINT入侵了1000多辆特斯拉

我撰写这篇文章的目的是为了提高特斯拉车主的安全意识,值得注意的是,这并不是特斯拉车辆或其基础设施的漏洞。 在这篇文章中,我将分享我是如何通过OSINT技术入侵特斯拉汽车的,以及我向特斯拉报告后得到的回应,最后我也…

力扣249题详解:移位字符串分组的多种解法与模拟面试

在本篇文章中,我们将详细解读力扣第249题“移位字符串分组”。通过学习本篇文章,读者将掌握如何将一组字符串按照移位相同的特性进行分组,并了解相关的复杂度分析和模拟面试问答。每种方法都将配以详细的解释,以便于理解。 问题描…