Redis入门01-简单了解

news2024/11/18 22:42:23

目录

Redis的发展历史

特性简介

数据类型

内存存储与持久化

功能丰富

简单稳定

应用场景

为啥用Redis



Redis的发展历史

Redis(Remote Dictionary Server)是一个高性能的键值存储系统,通常用作缓存、消息队列和分布式数据存储的解决方案。以下是Redis的发展历史(每一段中都涵盖了标签:轻量级键值存储、持久性和复制、分布式的数据分片和高可用、Sentinel自动故障切换、多线程和延迟队列、懒惰删除和集群自动重平衡):

  1. 2009年:创建和初期开发 Redis是由Salvatore Sanfilippo(也被称为Antirez)创建的。最早的版本于2009年发布。Redis最初是为提供快速、轻量级的键值存储解决方案而设计的。

  2. 2010年:稳定版发布 Redis在2010年发布了稳定版本1.0,此时已经引起了广泛的关注和使用。Redis的持久性、复制和分片功能逐渐加入。

  3. 2012年:Redis Cluster发布 2012年,Redis 2.8版本引入了Redis Cluster,这是一个分布式的Redis解决方案,支持数据分片和高可用性。

  4. 2015年:Redis发布3.0 Redis 3.0引入了Sentinel,这是一个用于监控和自动故障切换的工具,以提供更高的可用性。此版本还引入了新的二进制位操作和地理信息支持。

  5. 2018年:Redis发布5.0 Redis 5.0引入了多线程模型,以提高性能。它还引入了流数据结构、延迟队列以及其他新特性。

  6. 2021年:Redis发布6.0 Redis 6.0增加了更多的新功能,包括懒惰删除、集群自动重平衡等。此版本进一步增强了Redis的性能和功能。

特性简介

Redis是一种基于键值对(Key-value)的NoSql数据库。它以字典结构存储数据。

数据类型

redis中的value⽀持string(字符串)、hash(哈希)、 list(列表)、set(集 合)、zset(有序集合)、Bitmaps(位图)、 HyperLogLog、GEO(地理信息定位)等多种数据类型。

其中最常见的有5种数据类型应用场景:

  • string(字符串):缓存功能、计数、共享Session、限速(高并发场景下控制请求数量)

  • hash(哈希):缓存用户信息、缓存对象

  • list(列表):消息队列、文章列表

  • set(集 合):标签

  • zset(有序集合):用户点赞统计、用户排名

内存存储与持久化

所有数据都存放在内存中,持久化保存的同时读写能力非常出色,同时还能保证遭遇断电或者关机故障,内存数据不会“丢失”。

功能丰富

除了存储数据,还有设置键过期时间、发布订阅、处理事务、流水线、Lua脚本等功能

简单稳定

Redis提供了几十种不同编程语言的客户端库,都很好地封装了Redis的命令。

应用场景

Redis是一个高性能的内存数据库,常用于各种应用场景,特别适合需要快速、低延迟的数据存储和检索。以下是一些常见的Redis应用场景:

  1. 缓存:Redis最常见的用途之一是作为缓存层,用于存储经常访问的数据,以加速读取操作。它可以用于数据库查询结果、Web页面片段、API响应等。

  2. 会话存储:Redis可用于存储用户会话数据,以实现高可用性和快速的身份验证和授权。它可以替代传统的会话存储方式,如基于文件或数据库的存储。

  3. 消息队列:Redis支持发布/订阅模式,可用作轻量级消息队列系统。它用于异步通信、事件驱动架构和作业队列。

  4. 计数器和排行榜:Redis的原子性操作使其适合用于实时计数器和排行榜的构建。您可以轻松地更新计数器和排行榜,而无需担心竞态条件。

  5. 分布式锁:Redis可以用于实现分布式锁,以协调分布式系统中的并发访问,防止资源竞争和数据损坏。

  6. 地理空间数据:Redis支持地理位置数据的存储和查询,使其适合用于构建位置服务和地理信息系统。

  7. 实时分析:Redis支持多种数据结构,包括有序集合(Sorted Sets),可以用于实时数据分析和排名。

  8. 缓存穿透保护:Redis可用于防止缓存穿透,即防止恶意或无效的请求导致频繁的缓存未命中,以减轻后端负载。

  9. 限流和配额管理:Redis可以用于实现API限流和资源配额管理,以控制客户端访问频率。

  10. 分布式会话存储:在分布式系统中,Redis可以用于存储和管理会话数据,以实现跨多个服务的会话共享。

  11. 实时通信:Redis可以用作实时聊天应用程序的消息传递中间件,支持即时通信。

  12. 数据缓存:Redis可以用于缓存数据库查询结果,以减轻数据库负载,提高应用程序性能。

为啥用Redis

Redis速度非常快,单机就可以支撑每秒十几万的并发,是MySQL的几十倍。快的原因:

  • 完全基于内存操作

  • 单线程,避免切换和竟态竞争(5.0加入多线程,实际是针对队列使用多线程进行读写操作)

  • 非阻塞的IO多路复用机制

  • C语言实现,Redis大量优化了基础数据结构,性能极高

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

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

相关文章

【React】03.脚手架的进阶应用

文章目录 暴露webpack配置暴露前后的区别config文件夹:scripts文件夹:package.json 常见的配置修改1.把sass改为less2.配置别名3.修改域名和端口号4.修改浏览器兼容5.处理Proxy跨域 2023年最新珠峰React全家桶【react基础-进阶-项目-源码-淘系-面试题】 …

uniapp如何使用mumu模拟器

模拟器安装 下载地址:MuMu模拟器 模拟器相关设置 1.在设置-显示中选中手机版,设置手机分辨率 2.设置-关于手机-版本号快速点击,将其设置为开发者模式 3.选择多开器 4.打开hbuilderx,找到adb设置 5.配置adb路径及端口号&#x…

网络爬虫适合什么代理IP?如何使用?

在互联网时代之下,大数据对各行各业的发展有着重要的推动作用,而说到数据采集,必不可少的就是去使用爬虫工作。 一、什么是网络爬虫? 它是一种按照一定的规则自动游览、检索网页信息的程序或者脚本,通过自动请求目标…

《鸿门宴》文

鸿门宴 【作者】司马迁 【朝代】汉 沛公军霸上,未得与项羽相见。沛公左司马曹无伤使人言于项羽曰:“沛公欲王关中,使子婴为相,珍宝尽有之。”项羽大怒曰:“旦日飨士卒,为击破沛公军!”当是时&a…

SpringCloud Gateway实现请求解密和响应加密

文章目录 前言正文一、项目简介二、核心代码2.1 自定义过滤器2.2 网关配置2.3 自定义配置类2.4 加密组件接口2.5 加密组件实现,AES算法2.6 启动类,校验支持的算法配置 三、请求报文示例四、测试结果4.1 网关项目启动时4.2 发生请求时 前言 本文环境使用比…

【C++的OpenCV】第十五课-OpenCV的绘图工具(rectangle、circle、line、polylines、putText)常用方法简介

🎉🎉🎉 欢迎各位来到小白 p i a o 的学习空间! \color{red}{欢迎各位来到小白piao的学习空间!} 欢迎各位来到小白piao的学习空间!🎉🎉🎉 💖 C\Python所有的入…

【错误解决方案】ModuleNotFoundError: No module named ‘xgboost‘

1. 错误提示 在尝试导入名为xgboost的模块时出现了ModuleNotFoundError。 错误提示:ModuleNotFoundError: No module named xgboost 这个错误通常意味着Python环境中没有安装你试图导入的模块。 2. 解决方案 安装xgboost模块即可解决上述问题。 可以通过Python…

企业多部门VLAN间互访部署实战

1. 二层VLAN技术部署回顾; 2. 三层交换机上如何部署VLAN? 3. 部署VLAN的过程中有哪些注意事项? -- VLAN技术 - 虚拟局域网 -- 局域网 - 通过交换机连接的网络 -- VLAN - 把一个大的局域网 做一个分割 -- 常见局域网的问题&a…

Docker容器引擎

目录 一、Docker概述 二、Docker与虚拟机的区别 三、namespace 四、Docker核心概念 五、Docker部署 一、Docker概述 Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源。 Docker是在Linux容器里运行应用的开源工具,是一种轻…

10.2 一文读懂SPI与DSPI、QSPI、OSPI关系与异同

本文主要内容: 1 SPI与DSPI、QSPI、OSPI定义 2 SPI与xSPI对比 3 常用的nor flash 4 驱动架构 5 xSPI镜像烧录 1 SPI与DSPI、QSPI、OSPI定义 1)标准SPI 通过说的SPI,称为标准SPI,是一种串行外设接口,通过有4根线控制,CLK、CS、MISO、MOSI,可工作于4种模式,一般是主机…

透视2023,如何看清中国SaaS的未来之路?

导读:什么是更适合中国市场的SaaS道路? 如果用一个关键词概括2023年的SaaS产业,很多人会想到:难。 在过去一年时间内,SaaS产业投融资环境巨变,一级市场投融资笔数和金额骤减。根据IT桔子数据,20…

搭上直播快车,文旅迎来了更大爆发期?

“直播累计观看人数1083万人次,同期在线峰值10万人,抖音平台销售额800万元,荣登食遍天下榜第一名”。 10月28日,“东方甄选看世界”无锡专场直播落幕,又创造了新成绩,“文旅直播”这一新带货模式的发展可行…

飞鹅打印机使用注意事项:打印小票(云播报打印机)FP-V58-W(c)

文章目录 引言I 基础操作1.1 设置Wi-Fi1.2 在机器内预先内置logo 引言 应用场景: 云播报打印机:支持第三方软件开发商,接单后实现智能语音播报,可播报订单信息、打印订单小票。 http://www.feieyun.com/open/index.html 飞鹅对…

实用的文案生成工具、数字人生成工具、ai配音生成、音效下载、图片颜色读取器、自动生成logo 在线网站【持续更新】

一、文案生成工具 传送门 传送门 二、数字人 传送门 三、ai朗读 真人付费 传送门 传送门 四、音效下载 传送门 五、图片颜色读取器 传送门 六、自动生成logo 传送门 七、图片转 BASE64 传送门 ps:pr绿幕扣除 效果中搜索超级键 2. 拖动到轨道中 3. 点击左边主…

项目管理之项目工作的质量管理

在当今的商业环境中,质量成为了企业成功的关键因素之一。项目管理作为企业管理的重要手段,如何管理项目工作的质量也成为了项目管理的重要内容。本文将结合项目管理方法论,探讨如何管理项目工作的质量,以期为项目经理提供一些参考…

leetCode 137. 只出现一次的数字 II(拓展篇) + 模5加法器 + 真值表(数字电路)

leetCode 137. 只出现一次的数字 II 题解可看我的往期文章 leetCode 137. 只出现一次的数字 II 位运算 模3加法器 真值表(数字电路) 有限状态机-CSDN博客https://blog.csdn.net/weixin_41987016/article/details/134138112?spm1001.2014.3001.5501…

基于51单片机智能恒温控制系统设计

**单片机设计介绍,1657【毕设课设】基于51单片机智能恒温控制系统设计(仿真,程序,原理图,PCB) 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图 五、 程序六、 文章目录 一 概要 本设计采用单片…

前度开发面试题

面试题总结 vue页面跳转会经过两个钩子函数beforeEach、afterEach 组见守卫 beforeRouteEnter前置组见守卫 *beforeRouteUpdate更新之前 watch和computed区别 数据没有改变,则 computed 不会重新计算)。若没改变,计算属性会立即返回之前缓…

语音驱动数字人唇形模型:SadTalker-Video-Lip-Sync

1 项目介绍 本项目基于SadTalkers实现视频唇形合成的Wav2lip。通过以视频文件方式进行语音驱动生成唇形,设置面部区域可配置的增强方式进行合成唇形(人脸)区域画面增强,提高生成唇形的清晰度。使用DAIN 插帧的DL算法对生成视频进…

《异常检测——从经典算法到深度学习》23 TimesNet: 用于常规时间序列分析的时间二维变化模型

zz# 《异常检测——从经典算法到深度学习》 0 概论1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法3 基于One-Class SVM的异常检测算法4 基于高斯概率密度异常检测算法5 Opprentice——异常检测经典算法最终篇6 基于重构概率的 VAE 异常检测7 基于条件VAE异常检测8 Don…