【Redis前奏曲】初识Redis

这篇具有很好参考价值的文章主要介绍了【Redis前奏曲】初识Redis。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.Redis的一些特性(优点)

我们在上一篇博客中说到,Redis是一个在内存中存储数据的中间件.用作数据库,数据缓存等方面,在分布式系统中发挥着重要的作用.那么Redis有哪些优点特性呢?

1. 在内存中存储数据

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
Redis在内存中存储数据.MySQL主要是通过的方式来存储组织数据的,是"关系型数据库".而Redis主要是通过键值对的方式来存储组织数据的,是"非关系型数据库".
Redis中的key都是String,value则可以是string,hashes,set,sorted sets,stream...

2. 可编程的

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
针对Redis的操作,可以直接通过简单的交互式命令进行操作,也可以通过一些脚本的方式,批量执行一些操作.(可以带有一些逻辑性)

3. 可扩展的

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
即可以在Redis原有的功能基础上再进行扩展,Redis提供了一组API.
可以通过上述C/C++,或者Rust编写Redis扩展.

4.持久化

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
我们知道,Redis是把数据存储在内存上的.而内存的数据是"易失"的,比如进程退出或者系统重启就会造成数据丢失.为了解决这个问题Redis会把数据存储在硬盘上,以内存为主,硬盘为辅.(硬盘相当于对内存的数据进行了备份)如果Redis重启,就会在重启时加载硬盘中的备份数据使Redis的内训恢复到重启之前的状态.

5. 聚集(集群)

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
Redis作为一个分布式系统中的中间件,集群是一个很重要的特性.
上述中的"水平扩展",就类似于分库分表.
一个Redis能存储的数据是有限的(内存空间是有限的),我们就可以引入多个主机,部署多个Redis节点,每个Redis存储数据的一部分.

6. 高可用

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
高可用—>冗余/备份
Redis自身也是支持主从结构的,从节点就相当于主节点的备份.

Redis快的原因

  1. Redis数据在内存中,相比于访问硬盘的数据库,就要快很多.
  2. Redis核心功能都是比较简单的逻辑,核心功能都是比较简单的操作内存的数据结构.
  3. 从网络角度上来说,Redis使用的是IO多路复用(使用一个线程,管理很多个socket)的方式(epoll)
  4. Redis使用的是单线程模式,减少了不必要的线程之间的竞争开销.

二. 使用案例

1.数据库

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
Redis做数据库,主要解决的是快,性能好.但是使用这样的内存数据库,存储大量的数据,就需要不少的硬件资源.(此时Redis中存的是全量数据,这里的数据是不能随便丢的.)

2. 缓存

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
caching

使用MySQL存数据,能够存储的数据量很大,但是它很慢.所以我们可以将其中的20%的热点数据拿出来,存储在Redis中,此时Redis用来做缓存.(此时Redis中存的是部分数据,全量数据都是以mysql为主的,即使Redis中数据没有了,可以从mysql中再次读取加载)

session storage
我们在前面的博客中讲到 cookie是用来实现用户身份信息的保存的,它需要搭配 session 一起使用. cookie 只是在浏览器这边存储了一个用户的身份标识(sessionId).而服务器才真正的存储了用户数据.
而当我们的应用服务器有多个时,通过负载均衡器的分配,每一个用户的数据都有可能随机落在不同的应用服务器上,那么我们要在每一个应用服务器上都保存用户的数据吗,答案是否定的.这样一来,不仅不同的应用服务器会多次存储用户数据浪费资源,而且用户端也会不断的登录造成不好的体验.
【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存
那为了解决上述问题.我们应该怎么做呢?

  1. 让负载均衡器每一次将同一用户的请求始终分配在同一个应用服务器上.(不是采用轮询的算法,而是要通过userId之类的方式来分配机器)
  2. 将会话数据单独拿出来,放在一组独立的机器上存储(Redis)
    【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存

3. 消息队列

【Redis前奏曲】初识Redis,Redis,redis,数据库,缓存

Redis是一个使用内存存储数据的中间件,一般被作为 **内存数据库/缓存/消息队列 **来使用.

值得注意的是 Redis也是一个客户端服务器结构的程序. 它是通过网络操作内存的.文章来源地址https://www.toymoban.com/news/detail-775414.html

到了这里,关于【Redis前奏曲】初识Redis的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 126、高频Redis面试题:如何保证Redis和数据库数据一致性

    问题:如果数据库中的某条数据放入缓存后,又马上被更新了,那我们应该如何更新缓存 缺点: 如果先更新缓存成功,在更新数据库的时候失败,这时候会导致数据不一致;缓存的作用是不是临时将我们数据保存在内存,便于提高查询速度;但是如果某条数据在数据库中都

    2024年02月13日
    浏览(40)
  • 1 - 搭建Redis数据库服务器|LNP+Redis

    数据库服务软件分为2类: 关系型数据库服务软件 简称 RDBMS 按照预先设置的组织结构 将数据存储在物理介质上 数据之间可以做关联操作 非关系型数据库服务软件 简称 NoSQL 不仅仅是SQL 不需要预先定义数据存储结构 每条记录可以有不同的数据类型和字段个数 只需要 key valu

    2024年01月25日
    浏览(57)
  • redis的缓存更新策略以及如何保证redis与数据库的数据一致性

    redis的缓存更新策略有这么几种: 1、由应用直接和redis以及数据库相连接:         查询数据时,应用去redis中查询,查不到的话再由应用去数据库中查询,并将查询结果放在redis;         更新数据时,由应用去触发redis数据的删除以及数据库的update。 2、应用只跟redi

    2024年02月13日
    浏览(53)
  • 【后端面经-数据库】Redis详解——Redis基本概念和特点

    目录 1. Redis基本概念 2. Redis特点 2.1 优点 2.2 缺点 3. Redis的应用场景 面试模拟 参考资料 声明:Redis的相关知识是面试的一大热门知识点,同时也是一个庞大的体系,所涉及的知识点非常多,如果用一篇文章罗列,往往会陷入知识海洋中无法感知其全貌,因此,这段时间我会试

    2024年02月13日
    浏览(49)
  • Redis内存数据库

    Redis内存数据库 NoSQL数据库简介 Redis简介 Redis应用场景 windows下安装和使用Redis 在linux下安装redis Redis数据可视化RedisDesktopManager Redis配置 Redis 数据类型 Redis 字符串(String) Redis 哈希(Hash) Redis 列表(List) Redis 集合(Set) Redis 有序集合(sorted set) Redis key命令 Redis连接命令 Redis服务器命令

    2024年02月09日
    浏览(39)
  • Redis缓存数据库

    目录 一、概述 1、Redis  2、Redis的安装 Redis Windows环境设置 3、String: 字符串 3.1、字符串 3.2、数值 3.3、bitmap 4、Hash: 散列 5、List: 列表 6、Set: 集合 7、Sorted Set: 有序集合 常识: 磁盘:1.寻址:ms(毫秒)2.带宽:MB/s 内存:1.寻址:ns    (纳秒) 2.带宽:GB/s 秒--毫秒--微妙--纳秒

    2024年02月04日
    浏览(57)
  • Redis学习指南(2)-Redis与传统SQL数据库的差异

    在数据库领域,Redis和SQL数据库是两种不同的存储解决方案,各自具有一系列优势和劣势。本文将对Redis和SQL数据库进行对比分析,以帮助读者更好地了解它们的特点和适用场景。 1. 高性能 Redis以其出色的性能而闻名,主要因为它是一个基于内存的键值存储系统。这意味着数

    2024年01月21日
    浏览(51)
  • Redis Desktop Manager 中文--强大的Redis数据库管理工具

    Redis Desktop Manager(简称RDM)是一款开源且功能强大的图形化Redis管理工具。它支持Windows、macOS和Linux等多平台,为Redis数据库提供了直观友好的管理界面。通过RDM,用户可以轻松连接多个Redis服务器,管理连接信息,并直观地浏览和查看数据库中的数据结构。同时,它还支持键

    2024年04月16日
    浏览(55)
  • Redis缓存数据库(四)

    目录 一、概述 1、Redis Sentinel 1.1、docker配置Redis Sentinel环境 2、Redis存储方案 2.1、哈希链 2.2、哈希环 3、Redis分区(Partitioning)  4、Redis面试题 Redis Sentinel为Redis提供了 高可用解决方案 。实际上这意味着使用Sentinel可以部署一套Redis, 在没有人为干预的情况下去应付各种各样的失

    2024年02月05日
    浏览(53)
  • Redis 数据库高可用

    (1)在web服务器中,高可用是指服务器可以正常访问的时间,衡量的标准是在多长时间内可以提供正常服务(99.9%、99.99%、99.999%等等)。 (2)在Redis中,保证提供正常服务(如主从分离、快速容灾技术),还需要考虑数据容量的扩展、数据安全不会丢失等。 实现高可用的技

    2024年02月15日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包