iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >使用Redis做缓存的原因有哪些
  • 566
分享到

使用Redis做缓存的原因有哪些

2024-04-02 19:04:59 566人浏览 独家记忆
摘要

这篇文章给大家分享的是有关使用Redis做缓存的原因有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对Redis,百度百科给出的的解释是“Redis(Remote Dicti

这篇文章给大家分享的是有关使用Redis缓存的原因有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

对Redis,百度百科给出的的解释是

“Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的api

“Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++C#PHPjavascript,Perl,Object-C,python,Ruby,Erlang等客户端,使用很方便。”

那么,Redis有什么优点

  • Redis支持数据持久化

  • Redis的读写性能非常优异

  • 丰富的特性:可用于缓存,消息,按key设置过期时间,过期后将会自动删除

  • 支持事务,Redis的所有操作都是原子性的,同时Redis还支持对几个操作合并后的原子性执行。

  • Redis的数据结构丰富,除了支持string类型的value外还支持hash、set、zset、list等数据结构。

相对应的,Redis也有缺点

  • 数据库容量会受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。

  • Redis 不具备自动容错和恢复功能,主机从机的宕机都会导致前端部分读写请求失败,需要等待机器重启或者手动切换前端的IP才能恢复。

  • 如果主机宕机,宕机前有部分数据未能及时同步到从机,切换IP后还会引入数据不一致的问题,降低了系统的可用性。

  • Redis 较难支持在线扩容

  • Redis是单线程的,单台服务器无法充分利用多核服务器的CPU

为什么我们要使用Redis呢?

从高并发上来说:

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

从高性能上来说:

  • 用户第一次访问数据库中的某些数据。因为是从硬盘上读取的所以这个过程会比较慢。将该用户访问的数据存在缓存中,下一次再访问这些数据的时候就可以直接从缓存中获取了。操作缓存就是直接操作内存,所以速度相当快。如果数据库中的对应数据改变的之后,同步改变缓存中相应的数据

为什么要使用Redis而不是其他的,例如Java自带的 map 或者 guava

  • 缓存分为本地缓存和分布式缓存。以 Java 自带的 map 或者 guava为例子, 实现的是本地缓存,最主要的特点是轻量以及快速,生命周期随着 JVM 的销毁而结束,并且在多实例的情况下,每个实例都需要各自保存一份缓存,缓存不具有一致性。

  • 使用 redis 或 memcached 之类的称为分布式缓存,在多实例的情况下,各实例共用一份缓存数据,缓存具有一致性。缺点是需要保持 redis 或 memcached服务的高可用,整个程序架构上较为复杂。

Redis为什么这么快

  • 完全基于内存,绝大部分请求是纯粹的内存操作,非常快速。数据存在内存中

  • 数据结构简单,对数据操作也简单

  • 采用单线程,避免了不必要的上下文切换和竞争条件,也不存在多进程或者多线程导致的切换而消耗 CPU

  • 使用多路 I/O 复用模型,非阻塞 IO

感谢各位的阅读!关于“使用Redis做缓存的原因有哪些”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

您可能感兴趣的文档:

--结束END--

本文标题: 使用Redis做缓存的原因有哪些

本文链接: https://www.lsjlt.com/news/65000.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 使用Redis做缓存的原因有哪些
    这篇文章给大家分享的是有关使用Redis做缓存的原因有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对Redis,百度百科给出的的解释是“Redis(Remote Dicti...
    99+
    2022-10-19
  • Redis缓存失效的原因有哪些
    Redis缓存失效的原因有以下几个: 过期时间到期:Redis缓存可以设置一个过期时间,当缓存的过期时间到期时,缓存就会失效。这...
    99+
    2023-10-27
    Redis
  • redis适合做缓存的原因
    这篇文章给大家分享的是有关redis适合做缓存的原因的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。   Redis是一款内存高速缓存数据库;数据模型为:key...
    99+
    2022-10-18
  • redis负载高的原因有哪些
    Redis负载高的原因可能有以下几个: 数据量过大:如果Redis中存储的数据量非常大,超过了Redis服务器的内存容量,会导致...
    99+
    2023-10-28
    redis
  • redis缓存的应用场景有哪些
    redis缓存的应用场景有哪些?可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。大规模读写数据与数据库读写能力之间的矛盾    &n...
    99+
    2022-10-18
  • redis缓存用到的场景有哪些
    Redis缓存可以应用于以下场景:1. 页面缓存:将经常访问的页面内容存储在Redis缓存中,减少数据库的访问压力,提高页面加载速度...
    99+
    2023-09-04
    redis
  • redis是单线程的原因有哪些
    小编给大家分享一下redis是单线程的原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、Redis为什么是单线程的?因...
    99+
    2022-10-18
  • 企业要做seo的原因有哪些
    这篇文章主要介绍企业要做seo的原因有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!企业为什么要做seo的原因1、性价比高因为做seo主要是在网上操作,你去广告费用和那些竞价排名都要便宜得多,而且就目前的发展情况...
    99+
    2023-06-10
  • 使用代理IP速度缓慢的原因有哪些
    小编给大家分享一下使用代理IP速度缓慢的原因有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用代理IP速度缓慢的原因有哪些:代理IP服务器所处网络速度不佳。...
    99+
    2023-06-02
  • Redis和本地缓存使用的技巧有哪些
    这篇文章主要介绍“Redis和本地缓存使用的技巧有哪些”,在日常操作中,相信很多人在Redis和本地缓存使用的技巧有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Redi...
    99+
    2022-11-30
    redis
  • redis缓存数据库的作用有哪些
    1. 提高访问速度:Redis缓存数据库可以将热门数据存储在内存中,从而加快数据的访问速度,提高系统的响应性能。2. 减轻数据库负载...
    99+
    2023-09-04
    redis
  • php redis写入失败的原因有哪些
    这篇文章主要介绍“php redis写入失败的原因有哪些”,在日常操作中,相信很多人在php redis写入失败的原因有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php redis写入失败的原因有哪些...
    99+
    2023-07-05
  • Redis要比Memcached更火的原因有哪些
    本篇内容介绍了“Redis要比Memcached更火的原因有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所...
    99+
    2022-10-18
  • 坚持做SEO优化的原因有哪些
    本篇内容主要讲解“坚持做SEO优化的原因有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“坚持做SEO优化的原因有哪些”吧!  已经不知道从什么时候开始,大家都提到了SEO已死,而且这一两年来...
    99+
    2023-06-10
  • java内存高的原因有哪些
    Java内存高的原因主要有以下几个方面:1. 对象内存消耗:在Java中,每个对象都需要占用一定的内存空间。如果程序中存在大量的对象...
    99+
    2023-08-18
    java
  • c++缓冲区溢出的原因有哪些
    C++缓冲区溢出的原因可以归纳为以下几点: 输入验证不足:当用户输入的数据长度超过了程序预留的缓冲区长度时,就会导致缓冲区溢出。...
    99+
    2023-10-23
    c++
  • MySQL中查询缓慢的原因有哪些
    这期内容当中小编将会给大家带来有关MySQL中查询缓慢的原因有哪些,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。两个原则两条快于一条:***条SQL语句中,wher...
    99+
    2022-10-18
  • 在项目中使用redis做缓存的一些思路
    目录在项目中redis做缓存的一些思路首先,缓存的对象有三种本人走过的一些弯路为什么没用Redis做缓存使用Table作本地缓存使用Redis作缓存让我们来思考一下下面几个问题那么使...
    99+
    2022-11-12
  • redis缓存的更新方法有哪些
    Redis缓存的更新方法有以下几种:1. 更新缓存数据:直接更新缓存中的数据,可以使用`SET`命令或者其他适合的命令来更新缓存中的...
    99+
    2023-08-23
    redis
  • redis缓存机制的好处有哪些
    1. 提高系统性能:Redis缓存可以将热点数据存储在内存中,减少了数据库的访问次数,从而提高系统的响应速度和吞吐量。2. 减轻数据...
    99+
    2023-08-30
    redis
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作