英文手机网站模板,深圳网站设计公司 网络服务,网站开发 注意事项,企业网站建设好的例子Redis是一个在内存中存储数据的一个中间组件#xff0c;可用作数据库或数据缓存#xff0c;通常在分布式系统中使用
#xff08;不了解分布式#xff1f; 点击传送#xff09;
1. Redis特性
在内存中存储数据#xff0c;通过键值对的方法存储key为string#xff0c;v…Redis是一个在内存中存储数据的一个中间组件可用作数据库或数据缓存通常在分布式系统中使用
不了解分布式 点击传送
1. Redis特性
在内存中存储数据通过键值对的方法存储key为stringvalue可以是多种数据类型Redis可以通过一些简单的交互命令执行操作也可以通过脚本Lua的方式批量执行操作扩展性Redis提供了一组API用于程序员自己扩展一些Redis的功能持久化Redis是把数据存储在内存中的同时会在硬盘中备份数据防止数据丢失支持水平扩展即一个redis存不下数据可以引入多个主机分别存储数据的一部分高可用Redis支持主从结构如果主Redis出现故障从Redis可以马上替补上提高了容错快Redis把数据存储在内存中访问内存是比访问硬盘快的多的由于内存成本比硬盘高很多所以通常不使用Redis存储大规模数据
2. 适用场景
2.1 作为数据库
大多数情况下使用数据库考虑的是数据库的容量但仍有一些场景更注重数据库的读写性能。在这样的场景下就可以使用Redis存储数据以追求高性能。
2.2 作为缓存或存储session
互联网行业存在一个二八原则的说法20%的热点数据可以支持80%的请求。 于是可以使用Redis存储一些经常被访问的数据 而整体的数据可以使用MySQL存储这样即可以兼顾存储容量与访问速度。
在分布式系统中存在一个会话跟踪的问题 在这个情况下如果把session存储在服务器中用户第一登录时假设在 1号服务器登录的那么会话数据就存在了1号服务器中如果用户下次登录时服务端要查询到会话信息有两种方法
1. 把客户端连接再次分配给应用服务器1也就是让均衡负载把同一个用户的请求始终发送到同一台服务器上2. 把会话数据单独存储在一个独立的服务器上 这样无论哪个服务器收到请求都可以在会话服务器中查询会话信息即便应用服务器故障重启了会话信息也不会丢失。
2.3 作为消息队列
这里的消息队列可以理解为一个网络版本的生产者消费者模型用于服务器和服务器之间的数据信息传递可以达到一个解耦合的效果