• 目录

​1.NOSQL概述​

​        1.1什么是NOSQL​

​                1.1.1概念​

​                1.1.2非关系数据库存储什么样的数据呢?​

​        1.2为什么需要NOSQL​

​                1.2.1High Performance - 对数据库高并发读写的需求​

​                1.2.2Huge Storage - 对海量数据的高效率存储和访问的需求​

​                1.2.3High Scalability && High Availability- 高可扩展性和高可用性的需求​

​        1.3主流的NOSQL产品​

​2.window版的Redis安装与使用​

​        2.1什么是Redis​

​        2.2windows版Redis的安装与启动​

​        2.3windows版Redis的安装​

​                2.3.1window版Redis的安装​

​                2.3.2Redis的目录文件​

​                2.3.3window版Redis的启动与关闭​

​        2.4window版Redis的使用​


1.NOSQL概述

        1.1什么是NOSQL

                1.1.1概念

NoSQL:Not Only SQL 不仅仅是SQL,通常指的是非关系型的数据库。MySQL和Oracle都是属于关系型数据库。

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_数据库


特点



关系型数据库



非关系型数据库



存储介质



以文件的方式保存在硬盘中



通常只是存储在内存中,服务器关闭数据可能会部分或全部丢失



优点



数据是可以永久保存



存取速度非常快



缺点




  1. 数据添加有校验的过程
  2. 查询的速度比较慢
  3. DML的操作需要使用到事务

以上这些限制会导致速度很慢



数据不能即使保存,可能会导致数据丢失


                1.1.2非关系数据库存储什么样的数据呢?

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_数据库_02

  • 答:数据是放在内存中,主要的目的是为了提高查询的速度,放在redis中的数据是经常要查询的数据,而且它是第二份,第一份数据还是放在mysql数据库中,相当于一个缓存。

        1.2为什么需要NOSQL

随着互联网的高速崛起,网站的用户群的增加,访问量的上升,传统数据库上都开始出现了性能瓶颈,web程序不再仅仅专注在功能上,同时也在追求性能。所以NOSQL数据库应运而上,具体表现为对如下三高问题的解决:

                1.2.1High Performance - 对数据库高并发读写的需求

在同一个时间点,同时有海量的用户并发访问。

往往要达到每秒上万次读写请求。关系数据库应付上万次SQL查询还勉强顶得住,但是应付上万次SQL写数据请求,硬盘IO就已经无法承受了。

  1. 如天猫的双11,从凌晨0点到2点这段时间,每秒达到上千万次的访问量。
  2. 12306春运期间,过年回家买火车抢票的时间,用户不断查询有没有剩余票。
  3. 对于普通的BBS网站,往往也存在对高并发写请求的需求,例如网站的实时统计在线用户状态,记录热门帖子的点击次数,投票计数等,因此这是一个相当普遍的需求。

                1.2.2Huge Storage - 对海量数据的高效率存储和访问的需求

数据库中数据量特别大,数据库表中每天产生海量的数据。

类似QQ,微信,微博,每天用户产生海量的用户动态,每天产生几千万条记录。对于关系数据库来说,在一张几亿条记录的表里面进行SQL查询,效率是极其低下乃至不可忍受的。

                1.2.3High Scalability && High Availability- 高可扩展性和高可用性的需求

关系型数据库进行扩展和升级是比较麻烦的一样事,对于很多需要提供24小时不间断服务的网站来说,对数据库系统进行升级和扩展是非常痛苦的事情,往往需要停机维护和数据迁移。

非关系型数据库可以通过不断的添加服务器节点来实现扩展,而不需对原有的数据库进行维护。

        1.3主流的NOSQL产品

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_redis_03

  1. Redis是一个开源的使用C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
  2. CouchDB 是一个开源的面向文档的数据库管理系统,具有高度可伸缩性,提供了高可用性和高可靠性,CouchDB 是一个 Apache Software Foundation 开源项目。
  3. MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

2.window版的Redis安装与使用

        2.1什么是Redis

Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库,官方提供测试数据,50个并发执行10万个请求,读的速度是11万次/s,写的速度是8万次/s 。而MySQL大约在1000次/s左右。且Redis通过提供多种键值数据类型来适应不同场景下的存储需求。

        2.2windows版Redis的安装与启动

官网提供了Linux版的Redis下载

​http://redis.io/download​

Window版的Redis,下载地址如下:

​https://github.com/MSOpenTech/redis/tags​

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_数据库_04

        2.3windows版Redis的安装

                2.3.1window版Redis的安装

window版的安装及其简单,解压Redis压缩包完成即安装完毕,安装注意事项:

  1. 安装目录不要出现中文
  2. 目录不要太深

Redis所在的硬盘空间大于20G,会在目录产生一个8G大小文件。

                2.3.2Redis的目录文件


目录或文件



作用



redis-benchmark.exe



用于Redis的性能测试工具



redis-check-aof.exe



AOF日志文件修复工具



redis-check-dump.exe



RDB文件修改工具



redis-cli.exe



client 命令行的客户端工具



redis-server.exe



server 服务器端的启动程序



redis.windows.conf



redis在window下的配置文件


                2.3.3window版Redis的启动与关闭

启动服务器的方式:直接双击redis-server.exe文件即可

默认端口号:

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_NOSQL_05

关闭窗口服务器就关闭了

        2.4window版Redis的使用

启动客户端的方式:双击redis-cli.exe文件,自动连接服务器,并且进入命令行窗口

【Redis高手修炼之路】初学Redis——概述以及Redis安装使用教程_数据库_06

 直接点关闭即可,输入quit命令,不支持汉字。如果要使用汉字,要使用第三方客户端软件。或在Java中去访问。