Linux开发环境搭建(三)--Centos7安装Redis及注意事项_linux redis centos7_Destiny宿命的博客-程序员秘密

技术标签: Linux  linux redis  

Linux(Centos)之安装Redis及注意事项

阅读目录

  • 1.redis简单说明
  • 2.准备工作
  • 3.gcc的安装
  • 4.Tcl的安装
  • 5.redis的安装
  • 6.redis的测试
  • 7.Linux中设置redis的服务器启动和关闭
  • 8.Linux中设置redis的开机启动
    注:安装前须安装yum(包资源管理器)

1.redis简单说明

  a.redis是一个key-value存储系统,它支持存储的value类型相比较Memcached更多,包括string,list,set,sets,hashes等(It supports data structures such as strings,hashes,lists,sets,sorted sets with range queries,bitmaps,hyperloglogs and geospatial indexes with radius queies)这些数据类型都支持push/pop,Add/remove等丰富的操作,而且这些操作都是原子性的。

  b.redis和Memcached一样,为了保证效率,数据都是缓存在内存中的,区别就是redis会周期性的将更新的数据写入磁盘,并且可以实现主从(master-slave)同步。

  c.redis在数据存储方面,采用了NoSql数据库的思想,即将Key作为数据检索的唯一标示,可以将其简单的理解为关系型数据库中索引的键,而value则作为数据存储的主要对象,其中每一个Value都有一个Key与之对应,在Redis中,Value将被视为二进制字节流用于存储任何格式的数据,如Json,XML,图片和序列化对象的字节流等,因此我们也可以将其想象为RDB中的Blob类型字段,从而在我们进行数据查询是,只能基于Key作为我们查询的条件。

  d.redis官网:http://www.redis.io/

2.准备工作

  a.通过上面的说明之后我们既可以开始在linux系统下面安装redis了,在安装redis的过程中我遇到了一些问题,但也全部解决了,本来我想直接写然后遇到错误在引出来需要安装什么,但是感觉不太好写,所以我还是在前面将这些软件准备好,大家安装的时候可以先去安装redis去验证会不会出现问题,在解决也行。

  b.下载redis的包,下载地址:http://download.redis.io/releases/redis-3.0.5.tar.gz

  c.redis是C语言实现的,所以在Linux系统中需要安装gcc来进行编译,安装gcc请参考第三步。

  d.接下来需要安装Unix的Tcl工具,如果不安装的话后期我们将无法对Redis进行测试,完成安装之后make test会报错,安装tcl请参考第4步,tcl包的下载地址是:http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz

  e.安装完成上面的几个必须的包之后,即可以安装redis,请参考第5步之后。

  f.操作需要的软件以及系统如下:虚拟机(Vmware),虚拟机中安装的Centos系统,Xshell,Xftp,redis包,tcl包。

3.gcc的安装

  a.通过上面准备工作之后,我们现在已经拥有了可以安装和发布的环境,如果没有,请自行查询安装。

  b.在centos下面安装gcc,我们使用yum(包管理器)安装,因为gcc依赖了很多东西,而有些包系统可能已经安装了,有些没有,所以下面的命令最后都执行一遍,在Xshell中执行下面的命令:

    b.1 yum install cpp  

    b.2 yum install binutils

    b.3 yum install glibc-kernheaders

    b.4 yum install glibc-common

    b.5 yum install glibc-devel

    b.6 yum install gcc

    b.7 yum install make

    备注:以上所有的包信息在安装完成的时候都会提示Complete,如果没有是Complete,而是Nothing to do,则说明服务器已经安装了这个包,不需要再次安装,所以没关系,继续执行下一个命令即可。

  c.如果安装过程中没有报错,则说明gcc的安装已经完成了,下面继续安装tcl。

4.Tcl的安装

  a.在Xshell中使用命令跳转到local下面创建属于自己的文件夹:redis

    a.1     cd usr/local/  

    mkdir redis 

    cd redis/

  b. 然后使用Xftp将在准备工作下载的tcl包复制到kencery文件夹下面

  c.将上传的tcl包解压,解压之后重命名为tcl,如图所示

    c.1  tar -zxvf tcl8.6.3-src.tar.gz

    c.2  mv tcl8.6.3 tcl

    c.3 cd tcl 

  d.解压完成之后使用下面的命令安装,命令执行顺序按照我写的即可。

    d.1 cd unix/

    d.2  ./configure    

    d.3 make

    d.4 make install

  e.在执行的过程中如果不出现错误,耐心等待即可,这些命令的截图就不放在这里了,按照我写的顺序执行即可。   

5.redis的安装

  a.通过上面几步之后,准备工作已经完成,即可以开始安装redis了。

  b.使用Xftp将在准备工作下下载的redis包复制到redis文件夹下面    

  c.将上传的redis包解压,解压之后重命名为redis,如图所示:

    c.1  tar -zxvf redis-3.0.5.tar.gz 

    c.2 mv redis-3.0.5 redis

    c.3 cd redis

  d.当对包解压完成之后,便可以开始对其进行安装了,安装的命令为(在redis目录下执行):

    d.1 make

      (1) 在练习的时候输入make出现错误了,但是现在写博客的时候部署没有出现错误,如果出现错误,请使用这个命令(make MALLOC=libc)即可执行,因为没有出现错误,所以没有截图,大家如果遇到的话给我截图留言,谢谢。

      (2) 如果执行make出现错误,当再次执行make的话,我们建议,清理一下在执行,命令为:make clean。

    d.2  cd src/        make test 

      (1)在执行完make之后,在最后的程序中会输出(t's a good idea to run 'make test'),它建议我们执行make test进行测试,那么接下来我们就输入make test,检查测试,是否出现问题,如出现如图所示:则说明测试没有问题:

      

      (2)在输入make test执行的时候我在练习的时候是会出现错误的,但是这个错误不影响我们的测试,故而可以忽略。

    d.3 make install

      最后执行make install,不出现错误的话则说明redis安装成功,如图所示:

      

6.redis的测试

  a.当安装完redis之后,就需要进行测试,以下简单做一个测试来验证我们的redis是否安装成功。

  b.首先我们启动redis服务,启动和关闭redis服务命令如下:

    b.1  src/redis-server &      启动redis,加上&表示使redis以后台程序方式运行

    b.2 redis-server /usr/local/redis/redis/redis.conf  启动redis

    b.3  src/redis-cli shutdown     关闭redis

    b.4 输入启动redis的命令,启动redis,如图所示:

      

    b.5  当redis启动完成之后,使用netstat -ntlp |grep 6379  查看端口是否在使用中,如果在使用中,则说明安装成功,否则安装没有成功。

      

    b.6 连接redis并且测试,连接命令为:src/redis-cli,最后的测试结果如图所示:

      

    b.7 到这里reids的安装和测试工作全部完成了。

7.Linux中设置redis的服务器启动和关闭

  a.如上面所述,我们已经完成了对redis的安装,接下来就可以按照上面的方法使用,但是这里还存在一些小问题,那就是linux系统重启之后都需要找到安装路径才能执行启动命令,那么我们可以设置按照service的形式来启动redis吗?

  b.执行命令:vim /etc/init.d/redis,创建脚本文件,在文件中写入如下代码,保存并且退出:

# Date 2015-12-10
# chkconfig: 2345 10 90  
# description: Start and Stop redis   

PATH=/usr/local/redis/redis/src:/sbin:/usr/bin:/bin   
REDISPORT=6379  
EXEC=/usr/local/redis/redis/src/redis-server   
REDIS_CLI=/usr/local/redis/redis/src/redis-cli   

PIDFILE=/var/run/redis.pid   
CONF="/usr/local/redis/redis/redis.conf"  
AUTH="1234"  
case "$1" in   
        start)   
                if [ -f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is already running or crashed."  
                else  
                        echo "Starting Redis server..."  
                        $EXEC $CONF   
                fi   
                if [ "$?"="0" ]   
                then   
                        echo "Redis is running..."  
                fi   
                ;;   
        stop)   
                if [-f $PIDFILE ]   
                then   
                        echo "$PIDFILE exists, process is not running."  
                else  
                        PID=$(cat $PIDFILE)   
                        echo "Stopping..."  
                       $REDIS_CLI -p $REDISPORT  SHUTDOWN    
                        sleep 2  
                       while [ -x $PIDFILE ]   
                       do  
                                echo "Waiting for Redis to shutdown..."  
                               sleep 1  
                        done   
                        echo "Redis stopped"  
                fi   
                ;;   
        restart|force-reload)   
                ${0} stop   
                ${0} start   
                ;;   
        *)   
               echo "Usage: /etc/init.d/redis {start|stop|restart|force-reload}" >&2  
                exit 1  
esac


  c.给文件添加权限,使用脚本文件可以执行,命令为:chmod 755 /etc/init.d/redis

  d.以上工作顺利完成并且没有出现报错,则配置完成,每次我们开机之后都可以输入以下两个命令启动和关闭redis服务,如图所示:

    d.1 service redis start  开启redis服务

    d.2  service redis stop 关闭redis服务

    

  f.当开启服务之后既可以连接redis测试进行操作或者使用其他客户端来操作redis,测试如图所示:

    

8.Linux中设置redis的开机启动

  a.在大部分情况下,我们需要服务器重新启动的时候自动开启redis,而不是我们手工的去开启,那么下来就说一下开机自动启动的设置。

  b.首先设置redis.config中的daemonize为yes,确保守护进行开启,执行以下命令:

    b.1 cd usr/local/redis/redis

    b.2 vim redis.conf  开启配置文件,找到daemonize属性酒设置为yes, 保存并且退出即可。

  c.然后设置开机启动,命令:chkconfig redis on

  d.当以上步骤完成之后,即可以可以重新启动Linux然后按照前面所写的测试是否随机器自动启动了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/baidu_41669919/article/details/79148598

智能推荐

关于Antd 表格(Table)中插入图片_CrayonJ的博客-程序员秘密

HTML<a-table :columns="columns" :data-source="data" :pagination="false" :stripe="true"> //表头 <span slot="ranktitle" style="color: rgb(245,172,139);">排名</span> //表单 <span slot="img" slot-scope="img"> //注意此处src需要用动

JAVA中的native是什么?_心歌技术的博客-程序员秘密

native主要用于方法上1、一个native方法就是一个Java调用非Java代码的接口。一个native方法是指该方法的实现由非Java语言实现,比如用C或C++实现。2、在定义一个native方法时,并不提供实现体(比较像定义一个Java Interface),因为其实现体是由非Java语言在外面实现的。

小米路由器AC2100写入OpenWrt_小米ac2100刷openwrt_知本知至的博客-程序员秘密

仅仅是为了记录,如果能够帮到你,那真是最好不过了。

在虚拟机中NCL安装教程_虚拟机上conda安装ncl_lilili260的博客-程序员秘密

ncl安装教程两点说明:1、ncl需要安装在Linux或者Mac操作系统下,对于Windows机器而言,为了拥有一个Linux操作系统,需要先安装虚拟机,然后在虚拟机中安装Linux操作系统。(如果有Linux机器或mac,可直接跳过前两个步骤,直接安装对应版本的anaconda或miniconda。)2、ncl最便捷的安装方式是通过anaconda或miniconda,其他的方式较为复杂,...

CSS中间圆形镂空效果_css圆环中间镂空_lyx2的博客-程序员秘密

实现效果:一个div中间圆形镂空 思路:在div中用:after伪类实现一个圆环,再设置div的overflow为hidden<!DOCTYPE html><html><head><meta charset="utf-8"><title>Examples</title><style>.hole { width: 160px; height: 160px; position:

随便推点

第三次作业--24点游戏_A.y.的博客-程序员秘密

作者:罗傲宇日期:2019/4/12运行环境:Visual C++ 6.0一、问题描述:24点游戏是经典的纸牌益智游戏。常见游戏规则:从扑克中每次取出4张牌。使用加减乘除,第一个能得出24者为赢。(其中,J代表11,Q代表12,K代表13,A代表1),按照要求编程解决24点游戏。基本要求: 随机生成4个代表扑克牌牌面的数字字母,程序自动列出所有可能算出24的表达式。1.程序风格良好...

img标签动态,添加相对路径_原生js 如何写img 路径_程序员啊楠的博客-程序员秘密

目前遇到的业务是封装好的组件,需要传一个相对路径的一组图片路径一、什么是相对路径?基于当前文件, 其他文件的路径;写法:./ 当前目录(或者说同级目录) ../ 父级目录 / 根目录以上三种方法都试过,没有效果,于是用的下面的写法 &lt;div v-for="(item,index) in img" :key="index"&gt; &lt;img :src="img[index]" /&gt; &lt;/div&gt; data(){ retur

【迟到的Java岗面经】面7家,意外收获5家意向offer,越努力越幸运!_小码农 TT的博客-程序员秘密

个人简介Java后台开发方向。非计算机专业硕士,专业涉及到一些开发。实验室项目主要是Java Web系统,挖掘小亮点。回顾面试的那几个月,宛若梦一场。一开始心态不好,看到要学习的东西一大堆,沉不下心来学习,看什么东西都是看着看着就很浮躁,开始疯狂抖腿,沉迷幻想,以为找工作只看少量面经重点即可。总共投了三十多家公司,大小公司都有,想给自己多几个机会,...

Spark程序报错排查:A master URL must be set in your configuration_sparkexception: a master url must be set in your c_小码哥(^_^)的博客-程序员秘密

今天在在本地测试spark程序,点击运行main方法,报了如下错误:(spark版本为2.1.1)org.apache.spark.SparkException: A master URL must be set in your configuration at org.apache.spark.SparkContext.&lt;init&gt;(SparkContext.scala...

Unity3D 学习笔记8 —— UGUI控制和按钮的监听系统_toluaugui实现射箭小游戏_河乐不为的博客-程序员秘密

一、UGUI简介:        随着Unity原生UI系统UGUI日渐完善,如今在项目中使用UGUI相较于NGUI更为简单快捷,因为NGUI的基于深度(depth属性)层级管理机制和图集式图片管理(图集和散图必须同时存在,占用两倍空间)显然很繁琐而且灵活性差。        图片管理:在UGUI中,虽然我们依然可以采用将散图打包成图集的方式来管理图集,但是大多数情况下,我们更倾向于通过代

推荐文章

热门文章

相关标签