首页 > 编程知识 正文

redis缓存的作用,redis的缓存机制是什么

时间:2023-05-04 10:05:57 阅读:189449 作者:614

有人说互联网用户是用脚投票的,这句话其实从侧面说明了用户体验是多么重要,所以在设计软件体系结构时,不仅要考虑可靠性、安全性、可扩展性、可维护性等指标。 用户体验分为多个方面,但对用户操作的响应迅速非常重要。 如何提高用户访问的响应速度,是体系结构设计中必须解决的问题。 如果说要提高服务的响应速度,就不得不说缓存;

在系统级别,CPU速度远远高于磁盘I/o速度; 因此,为了提高响应速度,需要减少磁盘I/o操作,但数据库中存在大量信息,每次查询数据库时都是I/o操作。例如,查询用户信息的示例通常如下图所示。

请求响应时间等于网络响应时间和服务器响应时间; 网络无法控制。 服务器响应时间包括CPU计算时间和磁盘IO时间。 其中CPU计算时间由硬件资源决定。 尽量减少算法的复杂性并减少它。 磁盘IO时间,这个时间非常慢,应该尽量减少。

客户端调用getUser界面的查询用户信息时,执行步骤1、2、3、4; 因为用户信息保存在DB中,所以每2、3就有一次磁盘IO; 虽然这看起来像是一个非常简单的业务逻辑,但radxtg在设计体系结构时往往会考虑最坏的情况,或者在成千上万的用户频繁调用此接口时应该如何处理。 按照如上图所示的体系结构处理,这个看起来很简单的接口会使整个系统变慢,无法长时间响应用户的请求。 这样的问题怎么解决,这个时候缓存就该出现了;

缓存有多种形式,其中最简单的方法是为每个进程打开一个内存,存储缓存信息,每次都先从内存中进行查询… …但是,在单个分布式或群集环境中,getUser接口还有第三方缓存,也称为公共缓存(redis、memcache等)。 无论部署多少个包含getUser接口的服务,访问同一缓存集的结果都不一样。 请看下图。

在客户端调用getUser界面查询用户信息时,getUser界面会直接去查询redis,如果redis中有该用户信息,则直接返回,通过避免对DB的查询,实现对数据的这在服务接口(getUser )和DB之间添加了一个缓存层。 逻辑看似增加了,但实际上在面对高并发性时,例如上述频繁查询用户信息时,只有初次查询有磁盘IO操作,以后只要redis存在就不需要查询数据库了,磁盘I/o也就没有了,RRR

我们使用的缓存是redis,其实常用的是memcache等,它们都提供了集群模式,而且都是直接内存操作,速度特别快,也是目前业界使用的比较热门的技术; 与memcache相比,redis提供了更丰富的数据类型,您可以根据业务场景选择不同的数据类型。 redis本身也提供主从模式、集群模式; 也有codis提供redis集群解决方案的第三方; 这次主要谈谈缓存在体系结构设计中的作用。 有机会详细介绍redis的使用;

总之,为了提高系统性能,使用尽可能少的IO操作(特别是磁盘IO操作)的缓存可以有效地避免这种情况。 因此,在体系结构设计的过程中,在查询数据库时,应考虑是否使用缓存技术来提高系统性能,减少数据库的负载。

转载: http://blog.csdn.net/weis _ 2007/article/details/50678281作者:沙漠穷秋_

来源: CSDN

原文: 3359 blog.csdn.net/forward _/article/details/78476497

声明:本文为博主原创文章。 转载请附上博文链接!

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。