1.现实场景中遇到的问题
问题场景:
- 海量用户
- 高并发
关系型数据库的劣势:
- 性能瓶颈:磁盘IO性能低下
- 扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群
解决思路:
- 降低磁盘IO次数,越低越好 —— 内存存储
- 去除数据间的关系,越简单越好 —— 不存储关系,仅存储数据
2.Nosql介绍
NoSQL:
即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。
作用:
应用对于海量用户和海量数据前提下的数据处理问题。
特征:
- 可扩容,可伸缩
- 大数据量下的高性能
- 灵活的数据模型
- 高可用
常见Nosql数据库:
- Redis
- memcache
- HBase
- MongoDB
3.解决方案
4.Redis的入门介绍
概念:
Redis(REmote DIctinary Server)是用C语言开发的一个开源的高性能键值对(key-value)数据库。
特点:
- 数据间没有必然的关联关系
- 内部采用单线程机制进行工作
- 高性能。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/s,写的速度是81000次/s。
- 多数据类型支持:string(字符串类型)、list(列表类型)、hash(散列类型)、set(集合类型)、sorted_set(有序集合类型)
- 持久化支持。可以进行数据灾难恢复
应用:
- 为热点数据加速查询(主要场景)、如热点商品、热点新闻、热点资讯、推广类等提高访问量信息等。
- 任务队列、如秒杀、抢购、购票等
- 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信号等
- 时效性信息控制,如验证码控制,投票控制等
- 分布式数据共享,如分布式集群构架中的session分离
- 消息队列
- 分布式锁
5.下载安装
下载网址:https://github.com/microsoftarchive/redis/releases/tag/win-3.2.100
直接选择Redis-x64-3.2.100.zip进行下载解压即可。
基本操作:
- 功能性命令
- 信息添加
功能:设置key,value数据
命令:set key value
范例:set name itheima
- 信息查询
功能:根据key查询对应的value,如果不存在,返回空(null)
命令: get key
范例: get name
- 清除屏幕信息
功能:清除屏幕中的信息
命令:clear
- 帮助信息查阅
功能:获取命令帮助文档,获取组中所有命令信息名称
命令:help 命令名称
help @组名
4. 退出指令
功能:推出客户端
命令:quit
exit
< ESC>(慎用)