一、引言

设计模式写完了,相当于重新学了一遍,每次学习都会有不同的感受,对设计模式的理解又加深了,理解的更加透彻了。还差一篇关于设计模式的总结的文章了,写完这篇总结性的文章,设计模式的文章就暂时要告一段了,这篇总结性的文章我会尽快补上的。从今天开始,我就把我学习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)的更多相关文章

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

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

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

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

  3. Redis进阶实践之九 独立封装的RedisClient客户端工具类(转载9)

    Redis进阶实践之九 独立封装的RedisClient客户端工具类 一.引言 今天开始有关Redis学习的第九篇文章了,以后肯定会大量系统使用Redis作为缓存介质,为了更好的更好的Redis,自己 ...

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Mysql之 配置文件读取顺序

    On Unix, Linux and Mac OS X, MySQL programs read startup options from the following files, in the sp ...

  2. linux下的环境变量配置

    方法一: 方法二:

  3. 升级Android Studio到1.0.2的问题解决

    当前从光网下载到的Android Studio的版本是1.0.1,升级到1.0.2大概是3M的升级包.升级很简单,点击Help--Check For Update... 可是我碰到的情况是提示:Con ...

  4. Android 6.0动态申请权限时,权限框闪一下就消失的问题;

    Android 蓝牙BLE开发需要位置权限,不然扫描不到周围的蓝牙信息: 位置权限申请: if (Build.VERSION.SDK_INT < 23){return;} //判断是否有权限 i ...

  5. VMware虚拟机上配置nginx后,本机无法访问问题

    nginx装在CentOS上,用本机访问虚拟机的时候却出现了不能访问的问题,查了资料以后,原来是防火墙的问题.具体情况如下:防火墙可以ping通虚拟机,虚拟机也可以ping通防火墙.接着检查了服务器端 ...

  6. JIRA敏捷sprint需求统计设置

    1.JIRA->My Dashboard ->添加它的过滤条件 2.过滤条件产生,将sql拷贝至步骤1编辑的JQL中

  7. c# 后台AJAX

    public class BackA { #region 后台 AJAX public static string GetPage(string posturl) { Stream outstream ...

  8. 使用SQL SERVER PIVOT实现行列转置

    一般我们在使用SQL语句实现行列转置时候,最常用的方法无外乎就是 case语句来实现,但是如果需要需要转置的列太多,那么case起来语句就无限庞大,十分不方便,sql server中的PIVOT就可以 ...

  9. gentoo AR9285 BCM57780 安装驱动

    首先使用启动光盘启动, 然后 mount /dev/sda4 /mnt/gentoo 挂载硬盘 lspci -v 1>/mnt/gentoo/root/lspci_v.txt 输出信息到文件. ...

  10. 学生管理系统.c

    直接贴代码了 另有:python调用c程序的实现 #define _CRT_SECURE_NO_WARNINGS #include<iostream> using namespace st ...