Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)

这篇具有很好参考价值的文章主要介绍了Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、Redis是什么

Redis 是一种基于内存的数据库,对数据的读写操作都是在内存中完成,因此读写速度非常快,常用于缓存,消息队列、分布式锁等场景

        Redis 提供了多种数据类型来支持不同的业务场景,比如 String(字符串)、Hash(哈希)、 List (列表)、Set(集合)、Zset(有序集合)、Bitmaps(位图)、HyperLogLog(基数统计)、GEO(地理信息)、Stream(流),并且对数据类型的操作都是原子性的,因为执行命令由单线程负责的,不存在并发竞争的问题。

二、Redis与Memcached的区别

  1. Redis 支持的数据类型更丰富(String、Hash、List、Set、ZSet),而 Memcached 只支持最简单的 key-value 数据类型;
  2. Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用,而 Memcached 没有持久化功能,数据全部存在内存之中,Memcached 重启或者挂掉后,数据就没了;
  3. Redis 原生支持集群模式,Memcached 没有原生的集群模式,需要依靠客户端来实现往集群中分片写入数据;
  4. Redis 支持发布订阅模型、Lua 脚本、事务等功能,而 Memcached 不支持;

Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等),Redis,缓存,redis,mysql

   从数据类型、持久化、网络IO、集群模式、是否支持事务/发布订阅模型来看区别

三、为什么用Redis作为MySQL的缓存

1、Redis 具备高性能(内存数据库)

假如用户第一次访问 MySQL 中的某些数据。这个过程会比较慢,因为是从硬盘上读取的。将该用户访问的数据缓存在 Redis 中,这样下一次再访问这些数据的时候就可以直接从缓存中获取了,操作 Redis 缓存就是直接操作内存,所以速度相当快。

2、 Redis 具备高并发(QPS多)

单台设备的 Redis 的 QPS(Query Per Second,每秒钟处理完请求的次数) 是 MySQL 的 10 倍,Redis 单机的 QPS 能轻松破 10w,而 MySQL 单机的 QPS 很难破 1w。

所以,直接访问 Redis 能够承受的请求是远远大于直接访问 MySQL 的,所以我们可以考虑把数据库中的部分数据转移到缓存中去,这样用户的一部分请求会直接到缓存这里而不用经过数据库。

四、Redis为什么这么快

▪ 使用内存存储,没有磁盘IO的开销

▪ 单线程处理请求,避免线程切换和锁资源的开销

▪ 使用IO多路复用技术,使用epoll

▪ 数据结构丰富,可以直接应用的优化数据

▪ 冷热数据分离,热数据在内存中,冷数据在磁盘文章来源地址https://www.toymoban.com/news/detail-685666.html

到了这里,关于Redis—Redis介绍(是什么/为什么快/为什么做MySQL缓存等)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • redis为什么快

      内存存储:Redis 主要将数据存储在内存中,内存的读写速度远高于磁盘存储。这使得 Redis 能够快速地响应读写请求,适用于对读写性能要求较高的场景。 单线程模型:Redis 使用单线程模型来处理客户端请求,避免了多线程间的锁竞争和上下文切换开销。虽然单线程模型在

    2024年01月19日
    浏览(60)
  • Redis为什么快?

    redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。和Memcached类似。redis支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)和zset(有序集合)。 它的速度快主要归功于以下几个方面: 内存

    2023年04月26日
    浏览(46)
  • 为什么要用redis

    就是把你一些复杂操作耗时查出来的结果(用了600ms),如果确定后面不咋变了,然后但是马上还有很多读请求,那么直接结果放缓存(6ms),后面直接读缓存就好了。 这样,性能就提升了100倍 说白了就是,用redis挡访问,高并发的访问,不让mysql挂了。 mysql这么重的数据库,压根

    2024年02月12日
    浏览(37)
  • Redis为什么会这么快?Redis到底有多快?

    官方文档:https://redis.io/docs/management/optimization/benchmarks/ 我们使用redis自带的benchmark脚本测试: 我们发现,每秒可以执行11万多次set、lpush命令。 执行Lua脚本也能达到每秒10万多次,按照这个测试结果,redis的10万qps还是比较准确的,在高性能服务器上性能还能更强。 总结起来主

    2024年02月07日
    浏览(50)
  • Redis为什么快?(面试常问)

    Redis 是一个开源的高性能内存数据库,特点是数据存储在内存中,操作时性能更高;还支持多种数据结构,String、Hash、list、set、zset等,key还支持自动过期。 Redis的好处 是因为数据存在内存中所以性能更高,还有因为是单线程操作,所以天然具有线程安全的特性,单线程又能

    2024年02月11日
    浏览(40)
  • Redis为什么能如此之快

    Redis,一个以超高的性能和强大 的数据结构功能著称的内存数据库,在处理各种复杂数据操作时,速度却能达到惊人的水平。那么,Redis为什么能如此之快呢?今天,我们就来深入解析一下Redis的线程模型,揭开这个问题的神秘面纱。 在探讨Redis的线程模型之前,我们首先需要

    2024年02月12日
    浏览(42)
  • Redis为什么是单线程的

    首先,现在的CPU一般都是由多个核心组成,每个核心可以认为是一个独立的处理器,它们能够并行地处理任务。所以,如果我们的CPU是多核的,但是程序是单线程的,那么执行程序时,这个线程在某一个时刻只能在一个核心上运行,而其它的核心却是空闲的(如果没有其他程

    2024年02月11日
    浏览(41)
  • 你的 Redis为什么变慢了?一文讲透Redis性能优化如何做

    对 Redis 进行基准性能测试 例如,我的机器配置比较低,当延迟为 2ms 时,我就认为 Redis 变慢了,但是如果你的硬件配置比较高,那么在你的运行环境下,可能延迟是 0.5ms 时就可以认为 Redis 变慢了。 所以,你只有了解了你的 Redis 在生产环境服务器上的基准性能,才能进一步

    2024年02月02日
    浏览(58)
  • Redis为什么被设计为单线程

            redis是单线程的原因在于redis用单个CPU绑定一块内存的数据,然后针对这块内存的数据进行多次读写的时候,都是在一个CPU上完成的。redis核心就是 如果我的数据全都在内存里,我单线程的去操作就是效率最高的。所以,redis是单线程。 一、 Redis为什么那么快 1、完

    2024年02月21日
    浏览(41)
  • 既然有Map了,为什么还要有Redis?

    以下内容转自掘金 作者:哪吒编程 Redis可以存储几十个G的数据,Map行吗? Redis的缓存可以进行本地持久化,Map行吗? Redis可以作为分布式缓存,Map只能在同一个JVM中进行缓存; Redis支持每秒百万级的并发,Map行吗? Redis有过期机制,Map有吗? Redis有丰富的API,支持非常多的应

    2024年02月03日
    浏览(64)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包