linux下redis的安装

Posted on 2017-09-25 10:30  上清溪  阅读(70)  评论(0)    收藏  举报

1、Redis简介

  是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库

  因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型,所以是典型的非关系型数据库

  支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用

  支持数据的备份,即master-slave模式的数据备份,主从集群形式

 

2、Linux上安装步骤(本步骤是基于一个全新的linux环境)

  2.1、打开redis端口6379

    vim /etc/sysconfig/iptables

    加入如下一行代码:

    -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT

    

    :wq保存退出,重启防火墙

    /etc/init.d/iptables restart

 

  2.2、gcc的安装

    yum install cpp

    yum install binutils

    yum install glibc-kernheaders

    yum install glibc-common

    yum install glibc-devel

    yum install gcc

    yum install make

    安装完成会提示Complete,如果是Nothing to do,则说明服务器已经安装了这个包

    查看gcc版本

    gcc --version

 

  2.3、tcl的安装

    window上下载tcl的包,地址为http://downloads.sourceforge.net/tcl/tcl8.6.3-src.tar.gz

    cd /usr/local

    mkdir apply

    cd apply

    将下载下来的包移到apply目录下 解压 重名为tcl

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

    mv tcl8.6.3 tcl

    cd tcl/unix

    ./configure

    make

    make install

 

  2.4、安装redis

    window上下载redis包  https://redis.io/download

    cd /usr/local/apply

    将下载的redis包移到这个目录下  解压 重命名为redis

    tar -zxvf redis-3.0.5.tar.gz

    mv redis-3.0.5 redis

    cd redis

    make

    (如make出现错误,使用make clean 这个命令  然后再重新执行下make)

    make成功的最后一行会出现t's a good idea to run 'make test'

    make之后会在目录下的src中出现redis-server和用于测试客户端程序的redis-cli

 

    cd src

    检查测试

    make test

    如出现如下代码,即表明成功

        

 

  2.5、redis的测试

    cd /usr/local/apply/redis/src

    启动redis

    redis-cli &

    出现如下提示,则说明启动成功

    

    

    查看6379端口是否在使用中

    netstat -ntlp |grep 6379

     

    可以看到6379端口已经被redis-server占用

 

    进入redis,尝试存取下数据

    cd /usr/local/apply/redis/src

    ./redis-cli

    set key value

    get key

    如正确输出value,就没什么问题

 

  2.6、redis的开机启动

    cd /usr/local/apply/redis

    vim redis.conf

    将daemonize设置为yes

    :wq保存退出

    chkconfig redis on

 

  2.7、创建脚本文件启动\关闭redis

    vim /etc/init.d/redis

    复制如下代码

    

# Date 2017-09-25
# chkconfig: 2345 10 90  
# description: Start and Stop redis   

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

PIDFILE=/var/run/redis.pid   
CONF="/usr/local/apply/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

 

    给脚本添加权限

    chmod 755 /etc/init.d/redis

    脚本的使用

    service redis start

    service redis stop

 

  注释:

    本操作步骤都是在centos6.5系统下进行的,安装redis之前并没有装过redis,所以不存在之前redis卸载不干净影响到本次安装,一路流程下来,并没有什么出错

    如大家在本流程中出现一些报错之类的,欢迎留言,大家一起探讨!!

    转载请注明:http://www.cnblogs.com/ttsqx