Redis简介
Nosql
NOSQL:即Not-OnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户海量数据前提下的数据处理问题
特征:
- 可扩容,可伸缩
- 大量数据下高性能
- 灵活的数据类型
- 高可用
常见的Nosql数据库
1.Redis
概念:是用c语言可开发的一个开源的高性能键值对(key-value)数据库。
特征:
1.数据之间没有必然的关联关系
2.内部采用单线程机制进行工作
3.高性能。
4.多数据类型支持
5.持久化支持
应用:
1.为热点数据加速查询(主要场景)
2.为任务队列,如秒杀、抢购排队等、
3.即使信息查询,如各位排行榜等
4.是小心通过信息控制,如验证码控制等
5.分布式数据共享2
6.消息队列
7.分布式锁
2.memcache
3.HBase
4.MongoDB
解决方案(电商场景)
Redis的下载与安装
Redis的下载
Linux版(适用于企业级开发)
Redis高级开始使用
Windows版本(适合零基础学习)
Redis入门使用
Redis的基本操作
命令行模式工具使用思考
- 功能性命令
- 清除屏幕信息
- 帮助信息查阅
- 退出指令
信息添加·
清除屏幕信息
帮助
退出
总结
1.Redids简介
2.redis 的下载与安装
3.Redis的基本操作
set/get clear help
Redis数据类型
业务数据的特殊性
作为缓存使用
1.原始业务功能设计
秒杀
618活动
双11活动
2.运营平台监控到的突发高频访问数据
突发时政要闻,被强势关注微观
3.高频,复杂的统计及数据
在线人数
投票排行榜
附加功能
1.系统功能优化或者升级
Redis数据类型
- string
- hash
- list
- set
- sorted_set
String
String数据类型基本操作
原来有的我覆盖,原来没有的我创建
String类型的扩展操作
String作为数值操作
](https://img-blog.csdnimg.cn/1e8985d61fad4dafad6a6a8231ab17e4.png)
Redis数据存储格式
Redis控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作。。
string类型数据操作的注意事项
hash类型
- 新的存储需求:对一系列存储的数据进行编组,方便管理,典型应用存储对象信息
- 需要的粗基础结构:一个存储空间保存多个键值对数据
- hash类型:底层使用hash表机构实现数据存储
hash存储结构优化
- 如果field数量较少,存储结构优化为类数组结构
- 如果filed数量较多,存储结构使用HashMap结构
添加修改单个数据
添加修改多个数据
Hash 类型数据扩展操作
Hash类型数据操作的注意事项
- hash类型之下的value只能寸尺字符串,不允许存储其他数据类型,不参在嵌套现象,如果数据未获取到,对应的值为nil。
- 每个hash可以存储232 -1 个键值对
- hash类型十分贴近对象的数据存储形式,并且可以灵活添加删除对象属性。但hash设计初中不是为了存储大量对象而设计ide,切记不可滥用,更不可以将hash作为对象列表使用。
- hgetall 操作可以获取全部属性,如果内部field过多,遍历整体数据效率就会很低,有可能成为数据访问瓶颈。
list类型
- 数据存储需求:存储多个数据,并对数据进入存储空间的顺序进行区分
- 需要的存储结构:一个存储空间保存多个数据。且通过数据可以体现进入顺序
- list类型:保存多个数据,底层使用双向链表存储结构实现。
list类型数据扩展操作
- 规定时间内获取并且移除数据
blpop key1 【key2】 timeout
brpop key1 【key2】 timeout - 删除指定数据
lrem key count value
tips: - redis应用具有操作先后顺序的数据控制