当前位置: 首页 >  软件学堂 >  00Redis介绍

00Redis介绍

导读:1.1Redis 简介.Redis,Remote Dictionary Server,远程字典服务,由意大利人 Salvatore Sanfilippo(又名.Antirez)开发,是一个使用 ANSI C 语言编写、支持网络、 可基于内存亦可持久化的日志型、NoSQL 开源内存

1.1Redis 简介

Redis,Remote Dictionary Server,远程字典服务,由意大利人 Salvatore Sanfilippo(又名 Antirez)开发,是一个使用 ANSI C 语言编写、支持网络、 可基于内存亦可持久化的日志型、NoSQL 开源内存数据库,其提供多种语 言的 API。

Redis 之所以称之为字典服务,是因为 Redis 是一个 key-value 存储系统。支持存储的 value 类型很多,包括 String(字符串)、List(链表)、Set(集合)、Zset(sorted set –有序集合)和 Hash(哈 希类型)等。

1.1.1 NoSQL

NoSQL(“non-relational”, “Not Only SQL”),泛指非关系型的数据库。随着互联网 web2.0 网站的兴起,传统的关系数据库在处理 web2.0 网站,特别是超大规模和高并发的 SNS 类型 的 web2.0 纯动态网站已经显得力不从心,出现了很多难以克服的问题,而非关系型的数据 库则由于其本身的特点得到了非常迅速的发展。NoSQL 数据库的产生就是为了解决大规模数 据集合多重数据种类带来的挑战,特别是大数据应用难题。

(1) 键值存储数据库

就像 Map 一样的 key-value 对。典型代表就是 Redis。

(2) 列存储数据库

关系型数据库是典型的行存储数据库。其存在的问题是,按行存储的数据在物理层面占 用的是连续存储空间,不适合海量数据存储。而按列存储则可实现分布式存储,适合海量存 储。典型代表是 HBase

(3) 文档型数据库

其是 NoSQL 与关系型数据的结合,最像关系型数据库的 NoSQL。典型代表是 MongoDB。

(4) 图形(Graph)数据库

用于存放一个节点关系的数据库,例如描述不同人间的关系。典型代表是 Neo4J。

1.2Redis 的用途

Redis 在生产中使用最多的场景就是做数据缓存。即客户端从 DBMS 中查询出的数据首 先写入到 Redis 中,后续无论哪个客户端再需要访问该数据,直接读取 Redis 中的即可,不 仅减小了 RT,而且降低了 DBMS 的压力。 根据 Redis 缓存的数据与 DBMS 中数据的同步性划分,缓存一般可划分为两类:实时同 步缓存,与阶段性同步缓存。 实时同步缓存是指,DBMS 中数据更新后,Redis 缓存中的存放的相关数据会被立即清 除,以促使再有对该数据的访问请求到来时,必须先从 DBMS 中查询获取到最新数据,然后 再写入到 Redis。 阶段性同步缓存是指,Redis 缓存中的数据允许在一段时间内与 DBMS 中的数据不完全 一致。而这个时间段就是这个缓存数据的过期时间。

1.3Redis 特性

性能极高

简单稳定

持久化

高可用集群

丰富的数据类型

强大的功能

客户端语言广泛

支持ACL权限控制

支持多线程io模型

1.4Redis 的 IO 模型

Redis 客户端提交的各种请求是如何最终被 Redis 处理的?Redis 处理客户端请求所采用 的处理架构,称为 Redis 的 IO 模型。不同版本的 Redis 采用的 IO 模型是不同的。

1.4.1 单线程模型

对于 Redis 3.0 及其以前版本,Redis 的 IO 模型采用的是纯粹的单线程模型。即所有客户 端的请求全部由一个线程处理。

1.4.2 混合线程模型

从 Redis 4.0 版本开始,Redis 中就开始加入了多线程元素。处理客户端请求的仍是单线 程模型,但对于一些比较耗时但又不影响对客户端的响应的操作,就由后台其它线程来处理。 例如,持久化、对 AOF 的 rewrite、对失效连接的清理等。

1.4.3 多线程模型

Redis 6.0 版本,才是真正意义上的多线程模型。因为其对于客户端请求的处理采用的是 多线程模型

1.4.4 优缺点总结
(1) 单线程模型

优点:可维护性高,性能高。不存在并发读写情况,所以也就不存在执行顺序的不确定 性,不存在线程切换开销,不存在死锁问题,不存在为了数据安全而进行的加锁/解锁 开销。

缺点:性能会受到影响,且由于单线程只能使用一个处理器,所以会形成处理器浪费。

(2) 多线程模型

优点:其结合了多线程与单线程的优点,避开了它们的所有不足

缺点:该模型没有显示不足。如果非要找其不足的话就是,其并非是一个真正意义上的 “多线程”,因为真正处理“任务”的线程仍是单线程。所以,其对性能也是有些影响的

内容
  • 浅析华为云Astro的5大关键能力技术
    浅析华为云Astro的5大关键能
    2023-12-11
    摘要: 本文以技术方案视角,对华为云Astro低代码平台的一些核心功能进行简要介绍。.背景介绍.低代码开发基于可视化开发
  • Windows系统上禁用Jenkins跨站请求伪造(CSRF)保护功能
    Windows系统上禁用Jenk
    2023-12-11
    禁用CSRF保护.为了在Jenkins中禁用CSRF保护,请按照以下步骤操作:.定位Jenkins服务.在Windows
  • 高效联调,可靠发布!华为云推出CodeArts Release发布管理服务
    高效联调,可靠发布!华为云推出C
    2023-12-09
    摘要: 华为云全新推出CodeArts.Release发布管理服务,旨在将华为多年形成的发布实践外溢,帮助企业提升软件发
  • 高并发场景下,如何优化服务器的性能
    高并发场景下,如何优化服务器的性
    2023-12-07
    摘要:.tcp_nodelay参数主要是对TCP套接字来说的,那对于服务器硬件,如果要使其能够支撑上百万甚至上千万的并发
  • 4.6 x64dbg 内存扫描与查壳实现
    4.6 x64dbg 内存扫描与
    2023-12-05
    LyScript.插件中默认提供了多种内存特征扫描函数,每一种扫描函数用法各不相同,在使用扫描函数时应首先搞清楚不同函数
  • 什么是软件供应链?
    什么是软件供应链?
    2023-12-05
    1 软件供应链定义.需方和供方基于供应关系,开展并完成软件采购、开发、交付、获取、运维和废止等供应活动而形成的网链结构。
  • git 常用指令与简单规范
    git 常用指令与简单规范
    2023-12-04
    1. 前言.随着前端项目数量、前端开发人员、前端业务的日渐增多,则非常有必要整理一份简单的 git 规范,来进行项目开发
  • Centos7安装Gitlab
    Centos7安装Gitlab
    2023-12-03
    1. 什么是Gitlab?.后续内容会更新在个人站点: https.malusspectabilis.top.GitLa
  • 2023你需要使用的最佳VSCode扩展
    2023你需要使用的最佳VSCo
    2023-12-02
    Visual Studio Code(VSCode)是一款广受欢迎的多功能代码编辑器,在最新的Stack.Overflo
  • 软件研发CI/CD流水线图解
    软件研发CI/CD流水线图解
    2023-12-02
    当谈到现代软件开发流程时,持续集成(Continuous Integration,简称CI)和持续交付(Continuo
  • 4.2 x64dbg 针对PE文件的扫描
    4.2 x64dbg 针对PE文
    2023-12-02
    通过运用LyScript插件并配合pefile模块,即可实现对特定PE文件的扫描功能,例如载入PE程序到内存,验证PE启
  • 驱动开发:内核读写内存多级偏移
    驱动开发:内核读写内存多级偏移
    2023-12-01
    让我们继续在《内核读写内存浮点数》的基础之上做一个简单的延申,如何实现多级偏移读写,其实很简单,读写函数无需改变,只是在
  • 代码管理工具git的使用
    代码管理工具git的使用
    2023-12-01
    1. git 概述.git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。也是Linu
  • 【OpenCV】在VS2017中配置OpenCV开发环境
    【OpenCV】在VS2017中
    2023-12-01
    开发环境:OpenCV4.5.4、VS2017、x64.打开属性管理器:视图–>其他窗口–>属性管理器.找到 Relea
  • 驱动开发:内核物理内存寻址读写
    驱动开发:内核物理内存寻址读写
    2023-12-01
    在某些时候我们需要读写的进程可能存在虚拟内存保护机制,在该机制下用户的CR3以及MDL读写将直接失效,从而导致无法读取到
  • 风衣
    风衣
    2023-12-21
    风衣.产品功能.透气性高,能够有效排出体内热量和汗液,保持身体舒适.防风防水,能够有效阻挡外界风雨,保护身体不受天气影响
  • 毛衣
    毛衣
    2024-01-10
    毛衣产品介绍.产品功能.保暖:毛衣采用高品质的羊毛或羊毛混纺材料制成,具有良好的保暖性能,能有效阻挡寒冷空气对人体的侵袭
  • 短裤
    短裤
    2023-12-11
    时尚舒适,让您夏日更自在.产品功能.采用轻薄、透气的面料,给您清新舒适的穿着体验.弹性腰头设计,更贴合您的腰部曲线,穿着
  • 裙子
    裙子
    2023-12-16
    裙子.产品描述.我们的裙子采用高品质的面料制成,款式多样,适合各种场合穿着。无论是休闲的街头漫步,还是正式的商务会议,我
  • 袜子
    袜子
    2023-12-26
    产品介绍.产品功能.我们的袜子采用了优质的天然材料,具有吸湿透气、舒适柔软的特点。特别设计的弹性帮助固定袜子位置,并且不
  • 女童裤子
    女童裤子
    2024-01-10
    女童裤子.产品介绍.我们的女童裤子是为年龄在3-12岁之间的女孩设计的。我们的裤子不仅样式多样,而且舒适耐穿,适合学校、
  • 儿童外套
    儿童外套
    2023-12-06
    儿童外套.产品功能.我们的儿童外套具有多种功能,包括保暖、防风、防水和舒适。它们采用高质量的面料制成,能够有效地抵御寒冷
  • 牛仔裤
    牛仔裤
    2024-01-05
    牛仔裤.牛仔裤,是一种起源于美国的经典服装单品,以其耐穿耐磨的特性,成为了时尚界不可或缺的一部分。无论是男女老少,都能在
  • 婴儿连体衣
    婴儿连体衣
    2023-12-21
    婴儿连体衣.产品描述.婴儿连体衣是专门为婴儿设计的一款便捷舒适的睡衣,它将上衣和裤子融为一体,令宝宝在睡觉及活动时更加方
  • 外套
    外套
    2024-01-10
    外套.产品功能.外套是一种常见的服装,通常可作为保暖服装或装饰性服装穿着。它们有多种形式,包括短款和长款、有无连帽、单宽