还在盲目使用Redis吗?看完这个系列你就懂了~

前言:

本人每天晚上/早上抽空学习一下Redis,更新可能会比较慢,但是会持续坚持下来,如果觉得还行,就点个关注,后续会继续更新Redis这个功能强大、好用、免费的软件~

下一篇会介绍Redis的特性、安装等。

一、认识Redis

Redis是一款开源、在内存中存储的被数以万计的开发者作为数据库缓存流引擎消息中间者的软件(官网原话,但是自从官网更新了就没写了,现在Redis的官网主要突出就是一个Fast)。

由于Redis是在内存中存储数据的,因此它的速度肯定是比较快的,至少大于硬盘,即与之相比,MySQL的效率就远不及Redis了。

作为数据库:由于Redis的存储优势,因此他天生就比MySQL关系型数据库访问的速度要快很多。但也因为他的内存存储,也使得它无法存储大量的数据。

作为缓存:由于Redis是在内存中存储数据,而内存的特点就是快,因此可以用来作为缓存使用。

作为消息中间者:Redis的初心就是用来作为一个“消息中间件”的,但是由于还有其他更好用的消息队列(RocketMQ、RabbitMQ、Kafka),所以一般很少使用。

上述介绍了这么多,其实就是在讲,Redis因为自身的存储优势,就主打一个快~


Redis是一个C/S结构的程序,其他进程要想和Redis进行通信就得通过网络,这个效率远不及直接从内存中读取数据了,因此在单机程序中,若单单是为了追求效率,盲目使用Redis,反而会适得其反。

Redis真正的主要作战的领域是分布式~~

二、分布式系统

分布式听着很高大上,但是往往能不使用就不使用,因为比较复杂,需要根据业务场景来考虑是否要使用分布式。

为什么要引入分布式

传统的单机部署所面临的问题是,随着用户的增多,请求量增大,一台机器的性能(显卡、CPU、硬盘的性能)是有限的。

如果遇到这种问题往往是两种解决思路:

1)节流

节流指的是通过程序猿自己,去对程序优化,而这就非常考验程序猿的水平功底了

2)开源

开源指的是去升级主机的硬件设备,但是一台主机的性能也是有限的,就只能引入多台主机了。不过随着引入多台主机,程序系统的复杂度会大大增加,出BUG的概率也就会大大增加~~

分布式案例

当海量的用户请求去访问服务器的时候(分布式),通过负载均衡,来分配请求到主机节点上。

例如有1w个请求,主机有2台,每台主机的承受能力为5k请求,此时就可以通过负载均衡的方式,将1w个请求分到这2台主机上,以至于程序不会挂掉~~

当然我们也可以针对每台服务器的性能进行定制化,比如某一台机器的硬盘容量很大,就可以将这个主机用作是数据库服务器,对于其他也是同理,具体怎么处理还是需要根据业务需求的~

三、微服务架构

如果一个应用服务器的功能很多,就会非常重量,对于开发人员就会不好维护,为了解决这个问题,就可以将这个复杂的服务器拆分成更多的,功能单一的更小的服务器,这就是微服务了。

微服务的本质是解决代码维护,也就是“人”的问题。

引入了微服务虽然解决了人的代价,但是需要付出性能的代价(拆分出来多个服务,而每个服务之间是通过网络进行通信的),此外微服务还会提高系统的复杂度,会带来更多的问题,需要一系列手段来提高可用性~

  • 13
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值