1、什么是 Redis
Redis 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止 Redis 支持的键值数据类型如下:
字符串类型
散列类型
列表类型
集合类型
有序集合类型
2、Redis 的应用场景
缓存(数据查询、短连接、新闻内容、商品内容等等)
分布式集群架构中的 session 分离
聊天室的在线好友列表
任务队列(秒杀、抢购、12306 等等)
应用排行榜
网站访问统计
数据过期处理(可以精确到毫秒)
3、Redis的优缺点
Redis优势
对数据高并发读写(基于内存)
对海量数据的高效率存储和访问(基于内存)
对数据的可扩展性和高可用性
垂直扩晨:提升硬件
水平扩晨:集群
Redis缺点
redis(ACID处理非常简单)无法做到太复杂的关系数据库模型
4、Redis面向互联网的解决方案
主从:一主多从,主机可写,从机备份。类似于Mysq1的读写分离,存在问题是一但主节点down掉,整个Redis不可用。
哨兵(2.x):启用一个哨兵程序(节点),监控其余节点的状态,根据选举策略,进行主从切换。
缺点:每个节点的数据依旧是一致的,仍无法实现分布式的数据库。
-集群(3.x):结合上述两种模式,多主多从,实现高可用、分布式数据存储