Redis简介
NoSQL是什么?
NoSQL,泛指非关系型的数据库,NoSQL即Not-Only SQL,它可以作为关系型数据库的良好补充。
为什么需要NOSQL?
例如:12306一天的访问量超过11亿次,对数据库的瞬时访问量超过了DB能够承受的范围
1. mysql等关系型数据库已无法独自胜任海量用户下的互联网应用,尤其应对高并发,海量数据时,mysql的瓶颈就体
现出来
2. 传统DB必须和新兴的NOsql共同配合才能适应互联网的发展
关系型数据库的瓶颈
1. 性能瓶颈:例如mysql等数据存在磁盘中,磁盘io的性能很低,造成mysql性能瓶颈
2. 扩展性瓶颈:关系型数据库,数据之间关系复杂,扩展性差.
3. 不适合存储海量的非关系型数据 由于扩展性差,不便于大规模集群,使得关系型数据库无法胜任海量数据的存储
NoSQL特点
1. 易扩展
2. 高性能
3. 高可用
4. 灵活的数据模型
NoSQL的主流产品
键值(Key-Value)存储数据库
相关产品:Gemfire、redis
应用场景:内容缓存,主要用于处理大量数据的高访问负载。
列存储数据库
相关产品:Hbase
应用场景:分布式的文件系统
文档型数据库(json)
相关产品:MongoDB
应用场景:web应用的数据库(已支持事物但不支持表关系)
图形(Graph)数据库
相关产品:Neo4J
应用场景:社交网络。
Redis是什么?
Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行100000个
请求,读的速度是110000次/s,写的速度是81000次/s ,且Redis通过提供多种键值数据类型来适应不同场景下的存储
需求,目前为止Redis支持的键值数据类型如下:
- 字符串类型 string
- 散列类型 hash
- 列表类型 list
- 集合类型 set
- 有序集合类型 sortedset
Redis应用场景
1. 缓存(数据查询、短连接、新闻内容、商品内容等等)。(最多使用)
2. 分布式集群架构中的session分离。
3. 聊天室的在线好友列表。
4. 任务队列。(秒杀、抢购、12306等等)
5. 应用排行榜。
6. 网站访问统计。
7. 数据过期处理(可以精确到毫秒)
8. 消息队列
9. 分布式锁
目录或文件 作用
redis-benchmark 性能测试工具
redis-check-aof AOF文件修复工具
redis-check-dump RDB文件检查工具(快照持久化文件)
redis-cli 命令行客户端
redis-server redis服务器启动命令
redis.windows.conf redis核心配置文件