当前位置:   article > 正文

零基础学习Redis(1) -- Redis简介

零基础学习Redis(1) -- Redis简介

Redis是一个在内存中存储数据的一个中间组件,可用作数据库或数据缓存,通常在分布式系统中使用

不了解分布式? 点击传送

1. Redis特性

  1. 在内存中存储数据,通过键值对的方法存储key为string,value可以是多种数据类型
  2. Redis可以通过一些简单的交互命令执行操作,也可以通过脚本(Lua)的方式批量执行操作
  3. 扩展性,Redis提供了一组API用于程序员自己扩展一些Redis的功能
  4. 持久化,Redis是把数据存储在内存中的,同时会在硬盘中备份数据,防止数据丢失
  5. 支持水平扩展,即一个redis存不下数据,可以引入多个主机分别存储数据的一部分
  6. 高可用,Redis支持主从结构,如果主Redis出现故障从Redis可以马上替补上,提高了容错
  7. 快,Redis把数据存储在内存中,访问内存是比访问硬盘快的多的
  8. 由于内存成本比硬盘高很多,所以通常不使用Redis存储大规模数据

2. 适用场景 

2.1 作为数据库 

大多数情况下使用数据库考虑的是数据库的容量,但仍有一些场景更注重数据库的读写性能。在这样的场景下就可以使用Redis存储数据以追求高性能。

2.2 作为缓存或存储session

互联网行业存在一个二八原则的说法:20%的热点数据可以支持80%的请求。
于是可以使用Redis存储一些经常被访问的数据 ,而整体的数据可以使用MySQL存储,这样即可以兼顾存储容量与访问速度。

在分布式系统中存在一个会话跟踪的问题:

在这个情况下,如果把session存储在服务器中,用户第一登录时假设在 1号服务器登录的,那么会话数据就存在了1号服务器中,如果用户下次登录时服务端要查询到会话信息有两种方法:

  • 1. 把客户端连接再次分配给应用服务器1,也就是让均衡负载把同一个用户的请求始终发送到同一台服务器上
  • 2. 把会话数据单独存储在一个独立的服务器上

这样无论哪个服务器收到请求都可以在会话服务器中查询会话信息,即便应用服务器故障重启了,会话信息也不会丢失。

2.3 作为消息队列

这里的消息队列可以理解为一个网络版本的生产者消费者模型,用于服务器和服务器之间的数据信息传递,可以达到一个解耦合的效果

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/正经夜光杯/article/detail/993024
推荐阅读
相关标签
  

闽ICP备14008679号