Redis
现在基本所有的电商网站都要用到Redis,那么就系统的来学习一下。
NoSQL介绍
NoSQL:即 Not-only SQL(泛指非关系型的数据库),作为关系型数据库的补充。
特征
可扩展,可伸缩
大数据量下高性能
灵活的数据模型
高可用
1.1常见的NoSQL数据库
Redis
memcache
Hbase
MongoDB
1.2解决方案(以电商为例)
- 商品的基本信息 ——MySQL
名称
价格
厂家 - 商品的附加信息 —— MongoDB
描述
详情
评论 - 图片信息 —— 分布式文件系统
- 搜索关键字 —— ES、Lucene、solr
- 热点信息
高频
波段性
Redis 简介
什么是Redis?
概念
- Redis(REmote DIctionary Server)是用C语言开发的一个开源的高性能键值对(key-value)数据库。
特征
- 数据之间没有必然的关联关系
- 内部采用单线程机制进行工作
- 高性能。官方提供测试数据,50个并发执行100000个请求,读的数据是110000次/s,写的速度是81000次/s。
- 支持多种数据类型
- 字符串类型 string
- 列表类型 list
- 散列类型 hash
- 集合类型 set
- 有序集合类型 sorted_set
- 持久化支持。可以进行数据灾难恢复。
Redis 的应用
- 为热点数据加速查询(主要场景)如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如各类排行榜、各类网站访问统计、公交到站信息、在线人分数信息(聊天室、网站)、设备信号等
- 时效性信息控制,如验证码控制、投票控制等
- 分布式数据共享、如分布式集群架构中的session分离
- 消息队列
- 分布式锁
使用Redis的原因及Redis解决的问题
- 为什么电商网站例如:京东、淘宝等都要使用Redis?
海量用户
高并发 - 高并发导致服务器崩溃罪魁祸首的原因是什么?——关系型数据库
性能瓶颈:磁盘IO性能低下
扩展瓶颈:数据关系复杂,扩展性差,不便于大规模集群 - 既然知道了原因,那么根据原因,解决办法是什么?
NoSQL
降低磁盘IO次数,约低越好 —— 内存存储
去除数据间的关系,越简单越好 —— 不存储关系,仅存储数据
Redis下载及安装
Redis 的下载
1. Linux版本(适用于企业级开发)
- Redis高级开发使用
- 以4.0版本作为主版本
2. Windows版本 (适用于零基础学习)
- Redis 入门使用
- 以3.2版本作为主版本
- 下载地址:https://github.com/MSOpenTech/redis/tags
下载好直接解压就可以了
Redis基础操作
1.Redis启动
- 直接双击启动服务端和客户端
命令行模式工具使用
- 功能性命令
- 清除屏幕信息
- 帮助信息查询
- 退出指令
命令
信息添加
- 功能:设置Key,Value数据
- 命令
-set key value
eg:set name xiaoming
信息查询
- 功能:根据key 查询
- 命令
- get key
eg:get xiaoming
清除屏幕信息
- 功能:清除屏幕中的信息(windows)
- 命令
- clear
帮助
- 功能:获取命令帮助文档,获取组中所有命令信息名称
- 命令
- help 命令名称
- help @组名
eg:help set
help get
退出客户端命令
- 功能:退出客户端
- 命令
- quit
- exit
- ESC
总结
Redis 入门
1.NoSQL介绍
2.Redis 简介
3. Redis 下载与安装
4. Redis的基本操作
- set/get
- clear
- help