零基础学习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 作为消息队列

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Ting-yu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值