Redis的特性和应用场景

目录

Redis的特性

内存存储数据

可编程性

可扩展性

持久化

水平扩展性

高可用性

为什么redis是快的

Redis的应用场景

数据库

缓存和会话存储

消息队列

redis是一个客户端服务器结构的程序


Redis是一个在内存中存储数据的中间件,能够用于作为数据库,数据缓存等,能在分布式系统中大展拳脚.

Redis的特性

关于redis的特性,在redis官网中给出了六个.

内存存储数据

在内存中存储数据.

Mysql主要通过表的方式来存储和组织数据,是关系型数据库.

Redis则是主要通过键值对的方式来存储和组织数据,是一个非关系型数据库.

key是string类型,value可以是上述类型.

可编程性

针对redis的操作,可以直接通过简单的交互式命令进行操作,也可以通过一些脚本的方式,批量执行一些带有逻辑的操作.

可扩展性

可以在redis原有的功能基础上进行扩展,redis提供了一组api.可以通过c,c++和rust编写redis扩展.

比如redis自身已经提供了很多的数据结构和命令,通过扩展,让redis支持更多的数据结构和命令.

持久化

redis是把数据存储在内存上的,而内存的数据是易失的,进程退出和系统重启都会造成内存数据的丢失.所以redis也会把数据存储在硬盘上.内存为主,硬盘为辅.硬盘相当于对内存的数据备份了一下,如果redis重启了,就会在重启时加载硬盘中的备份数据,使redis的内存恢复到重启之前的状态.

水平扩展性

redis作为一个分布式系统的中间件,能够支持集群是非常关键的,这个水平扩展就类似于"分库分表".一个redis能存储的数据是有限的(内存空间有限),引入多个主机,部署多个redis节点,每个redis存储数据的一部分.

高可用性

redis自身也是支持主从结构的,从节点就相当于是主节点的备份了.具有自动故障转移机制,主节点挂了,从节点能够随时上来顶替主节点.


为什么redis是快的

快是redis的一个极其重要的优势,那redis为什么是快的?

1.redis数据存储在内存中,访问内存是比访问硬盘要快的.

2.redis的核心功能都是比较简单的逻辑,核心功能都是比较简单的操作内存的数据结构.

3.从网络角度上来讲,redis使用了IO多路复用的方式.

4.redis使用的是单线程的模型(虽然高版本的redis引入了多线程),这样的单线程模型,减少了线程之间不必要的竞争开销.

5.redis是使用c语言开发的,相对于其他编程语言来说,速度快一些.


Redis的应用场景

数据库

大多数情况下,考虑到数据存储,优先考虑到的是空间要大,但是仍有一些场景,优先考虑的的快.

当然使用这样的内存数据库存储大量的数据,需要更高配置的内存硬件.

redis当作数据库使用的时候,存的是全量数据,这里的数据是不能随便删除的.

缓存和会话存储

使用mysql存储数据虽然大了,但是速度慢.因此我们可以把热点数据单独拿出来,放到redis中存储.

作为缓存,redis存的是部分数据,哪怕redis中的数据丢失了,还可以从mysql那里加载回来.

作为会话存储,之前我们的会话是存储在应用服务器上的,一旦服务器重启,会话就没了.要想实现会话的持久化存储,我们可以把会话存储到redis中.

消息队列

redis作为消息队列,可以实现一个网络版本的生产者消费者模型.对于分布式系统来说,服务器和服务器之间有时候也需要用到生产者消费者模型.(解耦,削峰填谷)

如果当前场景中,对于消息队列的功能依赖不是很多,并且不想引入其他依赖,此时redis可以作为一个选择.


redis是一个客户端服务器结构的程序

redis的客户端和服务器可以在同一个主机上,也可以在不同的主机上.

reids的客户端有多种形态:自带的命令行客户端,图形化界面的客户端和基于redis的api自行开发的客户端.

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

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

相关文章

Centos7环境下cmake3.25的编译与安装

文章目录 0 视频传送门1 卸载当前版本2 下载cmake3.25.0并且解压缩3 使用root用户进入解压缩的目录4 开始执行命令5 创建软连接6 检查版本 0 视频传送门 https://www.bilibili.com/video/BV1Gu4y1J7Ev/?vd_source3353f83539e46042d8cf76efb177a8e4 07-Centos7编译安装cmake3.…

如何利用python连接讯飞的星火大语言模型

星火大模型是科大讯飞推出的一款人工智能语言模型,它采用了华为的昇腾910 AI处理器。这款处理器是一款人工智能处理器,具有强大的计算能力和高效的能耗控制能力。 华为昇腾910 AI处理器采用了创新的Da Vinci架构,这种架构在设计上充分考虑了…

智慧矿山系统中的猴车安全监测与识别

智慧矿山是近年来兴起的一种采用人工智能(AI)技术的矿山管理方式,它通过利用智能传感设备和先进算法来实现对矿山环境和设备进行监测和管理,从而提高矿山的安全性和效率。在智慧矿山的AI算法系列中,猴车不安全行为识别…

RT-Smart 开发笔记:int 类型数值溢出造成的奇怪问题的分析与排查记录

前言 最近在调试 RT-Smart 上的用户态 mq(消息队列)时,遇到一个奇怪的问题,这个例程打印了一下获取的时间,就可以正常的工作(超时退出),否则,就一直卡住(无法…

【ElasticSearch系列-02】ElasticSearch的概念和基本操作

ElasticSearch系列整体栏目 内容链接地址【一】ElasticSearch下载和安装https://zhenghuisheng.blog.csdn.net/article/details/129260827【二】ElasticSearch概念和基本操作https://blog.csdn.net/zhenghuishengq/article/details/134121631 深入理解ElasticSearch概念和基本操…

一百九十八、Java——IDEA项目中有参构造、无参构造等快捷键(持续梳理中)

一、目的 由于IDEA项目中有很多快捷键,可以很好的提高开发效率,因此整理一下 二、快捷键 (一)快捷键生成public static void main(String[] args) {} 快捷键:psvm (二)快捷键在test中创建cn…

基于YOLOv8模型暗夜下人脸目标检测系统(PyTorch+Pyside6+YOLOv8模型)

摘要:基于YOLOv8模型暗夜下人脸目标检测系统可用于日常生活中检测与定位黑夜下人脸目标,利用深度学习算法可实现图片、视频、摄像头等方式的目标检测,另外本系统还支持图片、视频等格式的结果可视化与结果导出。本系统采用YOLOv8目标检测算法…

一种支持热插拔的服务端插件设计思路

定位 服务端插件是一个逻辑扩展平台,提供了一个快速托管逻辑的能力。 核心特点 高性能:相对于RPC调用,没有网络的损耗,性能足够强劲。 高可靠:基于线程隔离,保证互不影响,插件的资源占用或崩溃等问题不直接影响业务。 部署快:不需要发布审核流程, 插件本身逻辑简短,…

【Overload游戏引擎细节分析】PBR材质Shader---完结篇

PBR基于物理的渲染可以实现更加真实的效果,其Shader值得分析一下。但PBR需要较多的基础知识,不适合不会OpenGL的朋友。 一、PBR理论 PBR指基于物理的渲染,其理论较多,需要的基础知识也较多,我在这就不再写一遍了&…

JVM虚拟机:如何调整堆空间的大小?

对内存的调优 如上所示,从物理角度来说呢,堆内存就是蓝色的区域,从逻辑角度来说,堆内存包含这个红色的部分,调优肯定是条物理的大小了,我们先来看一下物理内存的大小是多少? 如上所示,我们通过maxMemory获取到java虚拟机试图使用的最大内存量,默认为物理内存的1/4,比我…

Linux期末复习——多线程编程

线程概述 线程基本编程 函数说明 pthread_create(): 创建线程,成功返回0pthread_exit(): 主动退出线程,成功返回0pthread_join(): 挂起线程等待结束,成功返回0pthread_cancel在别的线程中终止另一个线程的执行,成功返回0 示例…

初识CSS层叠样式表

文章目录 CSS介绍CSS层叠样式表1.CSS组成2.CSS语法结构3.注释语法4.引入CSS的多种方式 CSS选择器1.CSS基础选择器2.CSS组成选择器3.分组与嵌套4.CSS属性选择器5.CSS伪类选择器6.CSS伪元素选择器 选择器优先级CSS继承选择器的优先级 CSS样式调节字体样式文本颜色文本属性 边框di…

在 Visual Studio 中远程调试 C++ 项目

目录 一、说明二、下载远程工具1. 官网下载2. 自己电脑上拷贝 三、 运行远程工具四、本机Visual Studio配置五、自动部署 一、说明 参考官方文档:https://learn.microsoft.com/zh-cn/visualstudio/debugger/remote-debugging-cpp?viewvs-2022 二、下载远程工具 …

数据库深入浅出,数据库介绍,SQL介绍,DDL、DML、DQL、TCL介绍

一、基础知识: 1.数据库基础知识 数据(Data):文本信息(字母、数字、符号等)、音频、视频、图片等; 数据库(DataBase):存储数据的仓库,本质文件,以文件的形式将数据保存到电脑磁盘中 数据库管理系统(DBMS)&…

腾讯云轻量应用服务器的“镜像”操作系统选择方法

腾讯云轻量应用服务器镜像怎么选择?如果是用来搭建网站可以选择宝塔Linux面板腾讯云专享版,镜像系统根据实际使用来选择,腾讯云百科txybk.com来详细说下腾讯云轻量应用服务器镜像的选择方法: 腾讯云轻量应用服务器镜像选择 轻量…

BI零售数据分析,告别拖延症,及时掌握一线信息

在日常的零售数据分析中,经常会因为数据量太大,分析指标太多且计算组合多变而导致数据分析报表难产,零售运营决策被迫拖延症。随着BI数据可视化分析技术的发展,智能化、可视化、自助分析的BI数据分析逐渐成熟,形成一套…

2、NLP文本预处理技术:词干提取和词形还原

一、说明 在上一篇文章中,我们解释了文本预处理的重要性,并解释了一些文本预处理技术。在本文中,我们将介绍词干提取和词形还原主题。 词干提取和词形还原是两种文本预处理技术,用于将单词还原为其基本形式或词根形式。这些技术的…

第03章_基本的SELECT语句

第03章_基本的SELECT语句 讲师:尚硅谷-宋红康(江湖人称:康师傅) 官网:http://www.atguigu.com 1. SQL概述 1.1 SQL背景知识 1946 年,世界上第一台电脑诞生,如今,借由这台电脑发展…

oracle 重启步骤及踩坑经验

oracle 重启步骤及踩坑经验 标准重启步骤 切换到oracle用户 su - oracle关闭监听 lsnrctl stop杀掉oracle有关进程 ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {print $2}|xargs kill -9#查询pid ps -ef|grep $ORACLE_SID|grep -v ora_|grep LOCALNO|awk {p…

恒驰服务 | 华为云数据使能专家服务offering之数仓建设

恒驰大数据服务主要针对客户在进行智能数据迁移的过程中,存在业务停机、数据丢失、迁移周期紧张、运维成本高等问题,通过为客户提供迁移调研、方案设计、迁移实施、迁移验收等服务内容,支撑客户实现快速稳定上云,有效降低时间成本…