一、引言

设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了。还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一段了,这篇总结性的文章我会尽快补上的。从今天开始,我就把我学习Redis的过程记录下载,以备以后查询观看。很久以前就接触过Redis,但是还没形成体系,最近有时间,就重新来学习一下,争取系统性的掌握Redis的各个方面。好了,废话不多说了,开始正文。

二、NoSQL简介和分类

在软件构建过程中,如果软件系统的规模不是很大,用户流量也不是很大,像一般做法开发就好,也不需要使用特别的技术。如果我们开发的软件系统的用户量很大,大量的用户频繁的访问就会带来另外一个问题,就是高并发,如果不能很好的解决并发问题,会使系统运行缓慢,用户体验降低,最后的结果是您的用户的大量流失。对于一个Web系统来说,用户就是资本,那该怎么解决高并发的问题呢?有一项技术是必须要用到的,那就是缓存。我们先给大家介绍一个概念“NoSQL”,NoSQL是什么呢?我们来看看它的定义吧,如下:NoSQL(NoSQL = Not Only SQL ),意即“不仅仅是SQL”,不仅仅只有关系型数据库,SQL代指关系型数据库,是一项全新的数据库革命性运动,发展至2009年趋势越发高涨。NoSQL的拥护者们提倡运用非关系型的数据存储,这一概念无疑是一种全新的思维的注入。

我们简单的看看NoSQL的分类,看了它的分类,对我们理解Redis很有帮助。

1、键值(Key-Value)存储数据库
        这一类数据库主要会使用到一个哈希表,这个表中有一个特定的键和一个指针指向特定的数据。Key/value模型对于IT系统来说的优势在于简单、易部署。但是如果DBA只对部分值进行查询或更新的时候,Key/value就显得效率低下了。类似数据库有:Tokyo Cabinet/Tyrant,Redis,Voldemort, Oracle BDB。

    2、列存储数据库。
         这类型的数据库通常是用来应对分布式存储的海量数据。键仍然存在,但是它们的特点是指向了多个列。这些列是由列家族来安排的。该类型的数据库如下:Cassandra,HBase,Riak。

    3、文档型数据库
         这类型的数据库和第一种键值存储相类似。该类型的数据模型是版本化的文档,半结构化的文档以特定的格式存储,比如JSON。文档型数据库可以看作是键值数据库的升级版,允许之间嵌套键值。而且文档型数据库比键值数据库的查询效率更高。该类型的数据库有:CouchDB,MongoDb。 国内也有文档型数据库SequoiaDB,已经开源。

     4、图形(Graph)数据库
          图形结构的数据库同其他行列以及刚性结构的SQL数据库不同,它是使用灵活的图形模型,并且能够扩展到多个服务器上。

NoSQL数据库没有标准的查询语言(SQL),因此进行数据库查询需要制定数据模型。许多NoSQL数据库都有REST式的数据接口或者查询API。如:Neo4J,InfoGrid, Infinite Graph。

现在我们对NoSQL数据库有了基本的认识,NoSQL数据也是有自己的使用场景的,以下场合使用NoSQL数据库,如下:

1、数据模型比较简单,复杂了就是用关系型数据库了;

2、需要灵活性更强的IT系统;

3、对数据库性能要求较高;

4、不需要高度的数据一致性,比如Redis是支持事务的,但是它的事务不能保证全部提交或者全部回滚的,也就是说数据的一致性不能保证;

5、对于给定key,比较容易映射复杂值的环境。

大家看到了吧,其实Redis数据库就是属于NoSQL数据库里面的第一种分类,也就是“键值存储数据库”,所以说Redis也是NoSQL数据库的,没毛病。接下来,让我们认识一下Redis数据库吧。

三、Redis简介

在这里我们简单介绍一下Redis数据库,让大家对它有一个基本的认识,我们先来看看Redis数据库的定义吧。

Remote Dictionary Server(Redis这个名称是一个缩写)是一个基于 key-value 键值对的、可以持久化的、完全开源免费的、遵守BSD协议的内存数据库存储系统,常用作缓存或者消息队列。支持多种数据结构,包括 string (字符串)、list (链表)、set (集合)、zset (sorted set:有序集合)和 hash(哈希类型)。这些数据类型都支持 push/pop、add/remove 及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。
    
    接下来,我们在说说Redis的优势的,如果没有优势,鬼才会使用它呢。

1、读写性能极高 – Redis读的速度是110000次/s,写的速度是81000次/s,所以使用Redis缓存数据,存取数据几乎是0感觉,当然是对于用户来说的 。

    2、支持丰富的数据类型 – Redis支持丰富的数据类型,如: String(字符串), Lists(链表), Hash(哈希),Set(无序集合) 及 ZSet(有序集合)等数据类型,所以我们放弃了Memched,因为它支持的数据类型太少了。

    3、所有操作支持原子性 – Redis的所有操作都是原子性的,意思就是要么成功执行,要么失败。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。

    4、丰富的特性 – Redis支持 publish/subscribe(发布/订阅),也支持事务、队列、持久化,可以设置key过期时间等等特性。

好了,既然是简介,先就说道这里吧,还有很多特性,我们在学习的过程中在一一交代吧。

四、VMWare Pro和Linux的安装

到了这一节,是该上主食的时候了。Redis可以安装到Windows环境下,当然也可以安装到Linux环境下,这两种环境的安装我都会一一介绍的。既然要安装到Liunx环境下,我不想装两个系统,当然你可以装两个系统,比如:Windows 10 和 CentOS 7。选择的是第二个方案,先装虚拟机,然后再在虚拟机中安装Redis。所以准备阶段要先把虚拟机和Linux系统安装好,下面我们就一步一步的教大家来操作,很简单,大家不要喷,如果大家很熟悉,可以跳过,我写这段只是给自己留个备份,以后自己可以复习。不多说了,开始一步一步的安装。

4.1、VMWare Pro的安装

          1】、我们可以去“百度”,如果知道官网,也可以直接去官网下载VMWare Pro软件安装包,地址如下:https://my.vmware.com/en/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation_pro/14_0?wd=&eqid=bdde195a00027b2c000000025a55be26,截图效果如下:              
         2】、下载后,可以双击安装文件,开始虚拟机的安装。出现【安装向导】对话框,直接点击【下一步】按钮,开始安装步骤。

3】、选择接受协议条款,然后点击【下一步】按钮,继续

4】、在这一步,我们可以更改安装目录,建议选择【增强型键盘驱动程序】,然后点击【下一步】按钮,继续

在上图,点击【更改】按钮,打开【更改目标文件夹】对话框,在该对话框选择好目录,然后点击【确定】按钮,返回上一个对话框。

5】、在这一步,可以保持默认选择就好,然后点击【下一步】按钮,继续

6】、在“快捷方式”这一步,为了自己使用方便,这两项我都是选择,然后点击【下一步】按钮,继续

7】、在这一步,已经准备好安装VMWare Pro,然后,点击【安装】按钮,开始安装程序。

8】、在这一步,我们可以看到安装的进度。安装进度完成后,会自动跳到完成页面。

9】、安装完成,如果我们直接点击【完成】按钮,完成VMWare Pro的安装,该版本当前是试用版本,可以点击【许可证】按钮,继续认证。

10】、输入VMware Workstation Pro 14 永久许可证激活密钥(FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA 或 CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD,二选一),点击【输入】按钮

11】、最后,我们点击【完成】按钮,完成VMWare Pro的安装。

12】、运行虚拟机,打开虚拟机的窗口,窗口如下:

13】、如果安装的时候没有输入许可证秘钥,可以点击【帮助】--【输入许可证秘钥】

14】、输入VMware Workstation Pro 14 永久许可证激活密钥(FF31K-AHZD1-H8ETZ-8WWEZ-WUUVA 或 CV7T2-6WY5Q-48EWP-ZXY7X-QGUWD,二选一),点击确定,至此VMware Workstation Pro 14安装过程全部结束。

15】、安装完成了,我们看看我们的虚拟机是否已经激活了,点击菜单【帮助】--【关于VMWare Workstations】,看到“许可证信息”的过期为:永不过期,证明全部安装完成。

好了,到此为止,我们的VMware Workstation Pro算是全部的、正确的安装完成了。我们有了虚拟机了,下一步,就要在虚拟机中安装Linux操作系统了。

4.2、Linux的安装在虚拟机里的安装
       
          1】、准备工作,我们最起码先要把所需要的软件下载下来

1.1)、下载和安装VMware workstation14(此步已经完成)

1.2)、下载CentOS7安装包,地址如下:https://www.centos.org/download/,截图如下:                  

1.3)、下载SSH Secure Shell Client,这个工具可以连接Linux系统,工具很好用。官网地址如下:https://www.ssh.com/ssh/,截图效果如下:

2】、VMware虚拟机的配置

2.1)、打开虚拟机软件“VMware Workstation”,选择【创建新的虚拟机】,当然也可以从菜单里面打开创建虚拟机的窗口。

2.2)、显示【新建虚拟机向导】对话框,选择“典型”选项,点击【下一步】按钮,继续

2.3)、显示【安装客户机操作系统】对话框,选择【稍后安装操作系统】,点击【下一步】按钮,继续

2.4)、显示【选择客户端操作系统】对话框,我们选择“Linux(L)”,版本选择“CentOS 7 64位”,点击【下一步】按钮,继续

2.5)、在【命名虚拟机】对话框中,我们可以输入“虚拟机名称”;点击“浏览”按钮,选择虚拟机文件保存的位置;点击【下一步】按钮,继续

2.6)、在【指定磁盘容量】对话框中,可以根据实际的情况,选择自己设计,或者使用的默认设置,我重新修改了一下“磁盘最大大小”,其他保持默认的选项,点击【下一步】按钮,继续

2.7)、到达此步步骤,说明,虚拟机的配置基本完成,但是,我们还要通过【自定义硬件】来配置ISO的文件映射,内存,CPU等信息,这个配置完成就可以安装系统了。我们继续点击【自定义硬件】按钮,来配置硬件,

2.8)、在此步骤,我们要修改一下内存,默认值是1G,我设置为2G,可以根据自己的情况选择

2.9)、在当前对话框中,我们选择【新CD/DVD】选项卡, 选择【使用ISO镜像文件】,然后点击【浏览】,找到刚才下载的centOS7镜像文件,然后点击下面的【关闭】按钮,返回上层窗口。

2.10)、在该窗口,我们点击【完成】按钮,到此,虚拟机就创建完成了,下面我们该安装CentOS操作系统了。

3】、开始安装CentOS7操作系统

3.1)、开启虚拟机

3.2)、开始安装CentOS系统,我比较幸运,一次就安装好了,没有遇到什么问题。

3.2)、这是CentOS系统的安装过程,没什么可说的,我们就是等待就好了。

3.2)、选择语言“中文-简体中文”

3.3)、接下来显示“安装信息摘要”页面;


   
              3.4)、软件选择:决定了系统安装后包括哪些功能,如果使用默认值,那么系统安装后是没有图形界面的;选择“GNOME 桌面”,会显示图形界面;本着学习的目的,这里选择默认设置【最小安装】

3.5)、安装位置:分区配置我们选择【自动配置分区】,该值也是默认值。

3.6)、网络和主机名:打开连接开关,记住IP地址,SSH登录时使用,设置主机名,点击【应用】生效,单机【完成】按钮完成设置。


                
              3.7)、开始安装

3.8)、设置ROOT密码,可以在安装系统的过程中设置Root的密码。

3.9)、现在可以安装了

3.10)、按照步骤设置,最后安装完成,点击【重启】按钮,准备开始使用系统。

3.11)、系统重启后,Linux login:root,密码就是你设置的密码,输入密码,显示如下图,证明登陆成功。(需要说明,输入密码的时候不会出现*号,不会出现输入一个字符,就出现一个*号的情况。输入前,必须用鼠标点击Linux系统的黑色桌面,才可以输入)

4】、现在我们使用SSH登录Linux

4.1)、打开SSH软件,点击【Quick Connect(快速链接)】按钮,来连接服务器。

4.2)、配置连接,输入Linux系统的IP地址,端口号和用户名,然后点击【连接】按钮,开始连接。
                    
                    
                     根据安装CentOS配置的以太网,获取IP地址:192.168.127.128,端口:22,是默认值,用户名就是Root

4.3)、输入root的密码,如果是第一次连接,会提示如下的窗口,根据自己的选择。

4.4)、登录成功

出现该窗口,说明使用SSH登陆Linux系统已经成功了。恭喜你,也恭喜我自己。

五、总结

终于写完了,有很多截图要制作,所以时间上花的比较多,用了5个小时,但是对于自己来说是值得。仔细回想每一步,还就像在眼前,系统做好了,下一步就是在Linux系统上安装Redis了。

Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装的更多相关文章

  1. Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装(转载)(1)

    Redis进阶实践之一VMWare Pro虚拟机安装和Linux系统的安装 一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇 ...

  2. Redis学习之一VMWare Pro虚拟机安装和Linux系统的安装

    一.引言 设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了.还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一 ...

  3. 【Docker】在Linux系统中安装Docker虚拟机、启动停止重启查看Docker命令

    安装Docker 文章目录 安装Docker Docker虚拟机架构 在Linux系统中安装Docker虚拟机 管理Docker虚拟机 参考资料 Docker虚拟机架构 Docker创建的所有虚拟实例 ...

  4. Redis进阶实践之二如何在Linux系统上安装安装Redis(转载)(2)

    Redis进阶实践之二如何在Linux系统上安装安装Redis 一.引言 上一篇文章写了“如何安装VMware Pro虚拟机”和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我 ...

  5. Redis进阶实践之二如何在Linux系统上安装安装Redis

    一.引言      上一篇文章写了"如何安装VMware Pro虚拟机"和在虚拟机上安装Linux操作系统.那是第一步,有了Linux操作系统,我们才可以在该系统上安装Redis. ...

  6. Redis进阶实践之三如何在Windows系统上安装安装Redis(转载)

    Redis进阶实践之三如何在Windows系统上安装安装Redis 一.Redis的简介 Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括 ...

  7. Redis进阶实践之三如何在Windows系统上安装安装Redis

    一.Redis的简介        Redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合 ...

  8. Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务(转载6)

    Redis进阶实践之六Redis Desktop Manager连接Windows和Linux系统上的Redis服务 一.引言 今天本来没有打算写这篇文章,但是,今天测试Redis的时候发现了两个问题 ...

  9. Redis进阶实践之十六 Redis大批量增加数据

    一.介绍      有时,Redis实例需要在很短的时间内加载大量先前存在或用户生成的数据,以便尽可能快地创建数百万个键.这就是所谓的批量插入,本文档的目标是提供有关如何以尽可能快的速度向Redis提 ...

随机推荐

  1. vue-cli、webpack提取第三方库-----DllPlugin、DllReferencePlugin

    需要安装的插件有 extract-text-webpack-plugin assets-webpack-plugin clean-webpack-plugin npm install extract- ...

  2. bzoj4247挂饰——压缩的动态规划

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4247 1.dp之前要先按挂钩个数从大到小排序,不然挂钩一度用成负的也可能是正确的,不仅脚标难 ...

  3. 从Vue文件到Html文件

    如下图,通过webpack打包工具,将一个Vue文件生成html,css,js文件.其中js对应的是new Vue({})

  4. windows server 2008 修改域的密码策略

    1.一般情况下,进入本地安全策略修改密码策略时,,密码策略已经被锁定,无法更改,若要修改域服务器上的密码策略,请按照步骤2--6进行修改 2.在此情况下要改密码策略的过程如下, 进入组策略管理: 3. ...

  5. 用exec调用带有output输出参数的存储过程

    用exec调用带有output输出参数的存储过程,想要得到输出参数的值,必须在调用参数后面加output关键字,如: declare @value int exec up_test    2,3,@v ...

  6. bzoj2035: [2009国家集训队]数据读取问题

    Description Input Output 可以转为边权为1的最短路:将不修改并读取x个数看作有向边,原先树上的边仍保留且视为双向边(但从根出发的边为单向)表示上次读取的修改 第一种边是点到bf ...

  7. nginx的日志分析

    1.到NGINX把日志DOWN下来2.用命令cat xxxx.log | egrep '10/Jul/2015:01:[4-5]|2015-07-10 02:0[0-57]'>xxxx2.log ...

  8. javascript的冻结对象之freeze(),isFrozen()方法

    最严格的对象保护措施就是冻结对象了.冻结过后的对象,即不可以扩展,原有对象也不可以删除,因为[Writable]=false,所以对象的属性不可修改. 示例一: var person={name:&q ...

  9. Vector的小知识点

    预留容量的两类方式: 1.不调用默认的构造函数 vector<int> v; v.push_back(111); v.reserve(20); std::copy(v.begin(), v ...

  10. php metaphone()函数解析

    php metaphone() 函数计算字符串的 metaphone 键,本文章向码农们介绍 php metaphone() 函数的基本用法和实例,需要的码农可以参考一下本文章的方法和实例. 定义和用 ...