一.背景
海量用户和高并发场景服务器崩溃,经常是关系型数据库性能和扩展瓶颈,磁盘IO性能低下,数据关系复杂,扩展性差,不便于大规模集群。
解决思路(NoSQL):
- 降低磁盘IO次数,越低越好 — 内存存储;
- 去除数据间关系,越简单越好 — 不存储关系只存数据;
二.NoSQL简介
NoSQL即 Not-Only SQL( 泛指非关系型的数据库),作为关系型数据库的补充。目的是应对基于海量用户和海量数据前提下的数据处理问题。
特征:
- 可扩容,可伸缩
- 大数据量下高性能
- 灵活的数据模型
- 高可用
常见 Nosql 数据库:
- Redis
- memcache
- HBase
- MongoDB
解决方案:
三.Redis简介
Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
1.特征:
-
数据间没有必然的关联关系
-
内部采用单线程机制进行工作
-
高性能。官方提供测试数据,50个并发执行100000 个请求,读的速度是110000 次/s,写的速度是81000次/s。
-
多数据类型支持
a).字符串类型 string
b).列表类型 list
c) 散列类型 hash
d).集合类型 set
e).有序集合类型 sorted_set -
持久化支持。可以进行数据灾难恢复
2.应用场景
- 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信号等
- 时效性信息控制,如验证码控制、投票控制等
- 分布式数据共享,如分布式集群架构中的 session 分离
- 消息队列
- 分布式锁
四.下载地址
学习阶段快捷比较重要, Windows电脑点这此下载
核心文件:
- redis-server.exe 服务器启动命令
- redis-cli.exe 命令行客户端
- redis.windows.conf 核心配置文件
- redis-benchmark.exe 性能测试工具
- redis-check-aof.exe AOF文件修复工具
- redis-check-dump.exe RDB文件检查工具(快照持久化文件)