Redis是作为关系型数据库的补充。不是替代!
1、redis第二种持久化操作(bgsave),会在后台进行保存任务,调用fork函数生成子进程。
1、redis中删除策略是针对带有时效性的expired修饰的数据。当所有数据都没过期,内存又不足时可以用逐出算法。
课程计划:
Redis 基础
Redis 入门
数据类型
通用命令
jedis
Redis 高级
持久化
redis.conf
事务
集群
Redis 应用
企业级解决方案
Redis简介
不可回避的问题:
奥运会门票预售系统开放第一天,票务网站被浏览次数达到20000次
一个神奇的网站:
盘点12306:一个总在”崩溃中“的神奇网站
问题现象:
海量用户
高并发
罪魁祸首------关系型数据库
性能瓶劲:磁盘IO性能低下
扩展瓶颈:数据关系复杂,扩展性差,不便于大规则集群
解决思路:
1、 降低磁盘IO次数,越低越好 --- 内存存储
2、去除数据间关系,越简单越好 --
Nosql
NoSQL:即Not-OnlySQL(泛指非关系型的数据库),作为关系型的数据库的补充
作用:应对基于海量用户和海量数据前提下的数据处理问题
特征:
可扩容,可伸缩
大数据量下的高性能;
灵活的数据模型
高可用
常见的Nosql数据库
Redis
memcache
HBase
MongoDB
解决方案(电商场景)
1、商品基本信息
名称
价格
厂商 存在MySQL
商品附加信息
描述
详情
评论 MongoDB
3、图片信息 分布式文件系统
4、搜索关键字 ES、Lucene solr
5、热点信息
高频、波段性
Nosql
Redis是Nosql的一种实现形式
Redis
概念:Redis(Remote Dictionary Server),中文翻译远程字典服务
是用C语言开发的一个开源的高性能键值对(key-value)数据库
特征:
1、数据间没有必然的关联关系
2、内部采用单线程机制进行工作
3、高性能。官方提供测试数据,50个并发执行100000个请求,读的速度是110000次/2,写的速度是81000次/s
4、多数据类型支持
字符串类型 string
列表类型 list
散列类型 hash
集合类型 set
有序集合类型 sorted_set
5、持久化支持。可以进行数据突难恢复
Redis的应用
为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
任务队列,如秒杀、抢购、购票排队等