Nosql
NoSQL:NotOnlySQL(泛指非关系型的数据库),作为关系型数据库的补充。
作用:应对基于海量用户和海量数据前提下的数据处理问题
特征:
- 可扩容,可伸缩
- 大数量下高性能
- 灵活的数据模型
- 高可用
常见Nosql数据库:
- Redis
- memcache
- HBase
- MongoDB
解决方案(电商场景)
- 商品基本信息
- 名称
- 价格
- 厂商
这些信息一般是固定的,放在MySQL中存储。
2.商品附加信息
- 描述
- 详情
- 评论
要求高速,文档的处理,一般使用MongoDB
3.图片信息
一般放在分布式文件系统中:FastDFS集群等
4.搜索关键字
ES、Lucene、solr等
5.热点信息
- 高频
- 波动性
使用NoSQL数据库解决:Redis、memcache、tair
Redis
概念:Redis(Remote Dictionary Server)是用C语言开发的一个开源高性能键值对(key-value)数据库。
特征:
- 数据间没有必然的关联关系
- 内部采用单线程机制进行工作(保证安全性)
- 高性能。官方测试数据:50个并发执行10w个请求,读的速度是11w次/s,写的速度是8.1w次/s。
- 多数据类型支持
字符串类型 string
列表类型 list
散列类型 hash
集合类型 set
有序集合类型 sorted_set
- 持久化支持。可以进行数据灾难恢复
Redis应用
- 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数、设备信息等
- 时效性信息控制,如验证码控制、投票控制等
- 消息队列
- 分布式锁
Redis安装
Mac安装Redis
Ubuntu安装Redis
不推荐Windows安装Redis,后面的学习还是需要用到Linux系统的。可以在Windows里面安装Linux虚拟机。
Redis的基本操作
命令行模式工具使用思考
- 功能性命令
- 清除屏幕信息 clear
- 帮助信息查阅 help
- 退出指令 quit,exit
信息添加
- 功能:设置key,value数据
- 命令:
set key value
- 范例
set name bupt
信息查询
- 功能:根据key查询对应的value,如果不存在,返回空(nil)
- 命令
get key
- 范例
get name
查看更多:Redis系列全