Redis 简介
我们为什么要用redis
海量用户 高并发
性能瓶颈:磁盘IO性能低下
扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群
降低磁盘IO次数,越低越好 内存存储
去除数据间关系,越简单越好 不存储关系,仅存储数据
Nosql
NoSQL:即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户和海量数据前提下的数据处理问题。
特征:
可扩容,可伸缩
大数据量下高性能
灵活的数据模型
高可用
常见 Nosql 数据库:
Redis
memcache
HBase
MongoDB
redis简介
-
概念:
Redis(REmote DIctionary Server) 是C语言开发的一个开源的高性能键值对(key-value) 数据库 -
特征:
-
数据间没有必然的关联关系
-
内部采用单线程机制进行工作
-
高性能
-
多数据类型支持 * 字符串类型 String * 列表类型 list * 散列类型 hash * 集合类型 set * 有序集合类型
redis应用
- 微热点数据加速查询(主要场景),
如热点商品,热点新闻, 热点资讯,推广类等高访问量信息等
任务队列,如秒杀,抢购,购票排队 - 及时信息查询
如各排行榜,各类网站访问统计,公交到站信息,在线人数信息(聊天室,网站),设备信号等
时效性信息控制,如验证码控制,投票控制等 - 分布式数据共享
如分布式集群架构中的session分离 - 消息队列
- 分布式锁
业务数据的特殊性
- 作为缓存使用
- 原始业务功能设计
*秒杀
*618活动
*双11活动
*排队购票 - 运营平台监控到的突发高频访问数据
*突发时政要闻,被强势关注围观 - 高频,复杂的统计数据
*在线人数
*投票排行榜
附加功能
系统功能优化或升级
*单服务器升级集群
*Session管理
*Token管理