当前位置: 首页 > news >正文

Redis 的初识

1. 为什么要使用 Redis
  • 在实际开发中,我们一般使用数据库(如 mysql )来存储数据,其有一些致命的缺点:如数据库持久化数据是面向磁盘的,而磁盘的读写较慢,在一般的管理系统上,不存在高并发,没有头瞬间读写大量数据的需求,这时使用传统数据库没有问题。但是如果面对一个高并发的场景,比如抢票、发红包等,或者访问量瞬间很大的一些场景,一瞬间会有成千上万的请求的到来,需要系统在极短的时间内完成成千上万次的读写操作。这时候数据库根本承受不来,很容易造成数据库瘫痪,最终导致服务器宕机。

  • 为了解决这个问题,我们可以引入 nosql 技术。nosql 也是一种数据库,它是基于内存的,并提供一定的持久化功能。Redis 和 mongodb 是当前使用最广泛的nosql技术。

  • Redis 全称 Remote Dictionary Server(即远程字典服务),它是一个基于内存实现的键值型非关系(NoSQL)数据库

  • Redis 遵守 BSD 协议,实现了免费开源.自 Redis 诞生以来,它以其超高的性能、完美的文档和简洁易懂的源码广受好评,国内外很多大型互联网公司都在使用 Redis,比如腾讯、阿里、Twitter、Github 等等。

2. Redis的特点

与其它内存型数据库相比,Redis 具有如下特点

  • 可将数据完全保存在内存中,也可通过磁盘实现数据的持久化支持;
  • 支持丰富的数据类型,包括string、list、set、zset、hash等,因此它也被称为【数据结构服务器】
  • 支持主从同步,即master-slave主从复制模式。数据可以从主服务器向任意数量的从服务器上同步,有效的保证数据的安全性
  • 支持多种编程语言,包括 C、C++、Python、Java、PHP、Ruby、Lua 等语言。
  • 与SQL型数据不同,redis未提供新建数据库的操作,因为它自带了16(0-15)个数据库(默认使用0库)。在同一个库中,key是唯一存在的、不允许重复的,它就像一把“密钥”,只能打开一把“锁”。键值存储的本质就是使用key来标识value,当想要检索value时,必须使用与value对应的key进行查找
  • redis没有“表”的概念,它通过不同的数据类型来实现存储数据的需求,不同的数据类型能够适应不同的应用场景1,从而满足开发者的需求
3. Redis 架构

Redis 体系架构主要分为两个部分

  • Redis 服务端
  • Redis 客户端

客户端和服务端可以位于同一台计算机上,也可位于不同计算机上。服务端是整个架构的“大脑”,能够把数据存储到内存中,并且起到管理数据的作用。

4.其它

Redis 基于内存来实现数据的存储,因此其速度非常快。但是计算机的内存是稀缺资源,所以 Redis 不适合存储较大的文件或者二进制数据,否则会出现错误,Redis 适合存储较小的文本信息。理论上 Redis 的每个 key、value 的大小不超过 512 MB。


http://www.mrgr.cn/news/11401.html

相关文章:

  • 记录imbalanced_learn离线安装
  • 基于Thymeleaf、bootstrap、layUI 混合前端应用
  • 鬼吹灯作者申请“鬼吹灯”商标驳回,涉这些大概率驳回!
  • 解锁未来:Swift 中 Core NFC 的全方位应用指南
  • PowerShell自动化Windows系统管理任务
  • CSS中的`calc()`函数是如何工作的?(一)
  • 【protobuf入门学习(一)】 —— protobuf安装教程
  • 解决 python import 报错问题
  • 云计算实训35——镜像的迁移、镜像的创建、使用docker查看ip、端口映射、容器持久化
  • 什么是激光雷达?激光雷达的构成与分类
  • springboot后端开发-自定义参数校验器
  • 2024年消防设施操作员考试题库及答案
  • docker创建数据库容器并映射存储数据
  • 学习MyBatis-Plus
  • ubuntu系统中通过java程序拷贝文件数据到U盘,在win11中查看文件时间相差8小时
  • P8436 【模板】边双连通分量
  • 【JVM】OOM与调优(二)
  • 【C#】【EXCEL】Bumblebee/Classes/ExEnums.cs
  • 基层医疗云HIS系统源码:云计算、大数据等现代信息技术研发
  • ue5远程渲染和本地渲染的区别,及云渲染的联系