一、NoSQL简介
1.NoSQL(Not-OnlySQL,泛指非关系型的数据库),作为关系型数据库的补充
真正存数据还得放到硬盘,不能都放到内存中
特征:可扩容,可伸缩,大数据量下高性能,灵活的数据模型,高可用
常见的NoSQL数据库:Redis,memcache,HBase、MongoDB
2.关系型数据库带来的问题:
性能:磁盘IO性能(读写磁盘性能)低下,cpu与cache,cache与内存,内存与硬盘之间不断进行数据交换。
扩展:数据表之间的网状关系复杂,扩展性差,不便于大规模集群
3.解决方案:NoSQL
1.降低磁盘IO次数 - - - - 将热点数据(经常访问的数据)放到内存存储(而不是磁盘中)
2.去除数据间的关系,越简单越好 - - - - 不存储关系,只存储数据
接下来要讲的Redis是NoSQL的一种
二、Redis简介
1.概念
Redis(Remote Dictionary Server,远程字典服务)是C语言开发开源的高性能键值对(key-value)数据库
Redis是为了解决海量用户以及高并发的现象
2.特征
1.数据间没有必然的关联关系
2.内部采用单线程机制进行工作,更加安全
3.高性能,官方测速,50个并发执行100000个请求,读速度110000次/s,写速度81000次/s
4.多数据类型支持
类型 | 英文 |
---|---|
字符串类型 | string |
列表类型 | list |
散列类型 | hash |
集合类型 | set |
有序集合类型 | sorted_set |
5.持久化支持,可以进行数据灾难恢复,防止数据在内存中存储时突然断电。
3.应用
功能 | 主要场景 |
---|---|
为热点数据加速查询 | 热点商品、新闻、资讯、推广类等高访问量的信息 |
任务队列 | 秒杀、抢购、购票排队等 |
即时信息查询 | 排行榜、网站访问统计、公交到站信息、在线聊天室人数信息、设备信号等 |
时效性信息控制 | 验证码、投票的时间控制等 |
分布式数据共享 | 分布式集群架构中的session分离 |
消息队列 | |
分布式锁 |
三、Redis的下载与安装
1、Linux版本(企业级开发)
2、Windows版本(学习使用)
下载地址,解压即安装
核心文件 | 功能 |
---|---|
redis-server.exe | 服务器启动命令,双击启动服务端 |
redis-cli.exe | 命令行客户端,双击启动客户端 |
redis-check-aof.exe | AOF文件修复工具 |
redis-check-dump.exe | RDB文件检查工具(快照持久化文件) |
redis-benchmark.exe | 性能测试工具 |
redis.windows.conf | redis核心配置文件 |
可以双击redis-server.exe和redis-cli.exe可执行文件打开服务器端和客户端
也可以使用cmd执行命令打开