Redis2.6.13 数据库服务器搭建完成后,启动脚本,基本命令操作


 


概要:redis的基本安装完成以后,介绍一下redis的基本操作命令,以及启动脚本


redis 的主要执行程序:


  • redis-server:Redis服务器的daemon启动程序
  • redis-cli:Redis命令行操作工具。或者通过telnet进行纯文本协议操作
  • redis-benchmark:Redis性能测试工具,测试Redis在你的系统及你的配置下的读写性能

运行redis:


    进入redis的主目录,我的目录是/usr/local/redis-master,执行:./src/redis-server redis.conf,作为后台进行运行,上一篇文章已经讲过配置,接下来需要查看是否运行成功,一般情况如果正常运行了,命令行没有任何输出,如果出现部分异常会在命令行报出错误原因,但是部分错误也是不报的,所以我一般会执行netstat -apn,看是否已经在进程中监听端口了


redis 执行so脚本 redis 启动脚本_redis启动脚本


可以看到0.0.0.0:6379 PID2588/redis-server,或者执行ps -ef | grep redis-server,也可以判断是否运行


    


客户端操作:


    要操作redis可以使用redis的redis-cli命令连接到redis进行操作,在redis主目录,执行:./src/redis-cli -h 127.0.0.1 -p 6379,这是完整的命令,其中-h 和-p 是指定IP地址和端口(可选参数),因为我在配置中设置了redis的验证密码,所以需要先进行验证才可以进行下一步的操作,验证命令:auth password,因为redis没有双验证,即用户名+密码这种模式,所以你的密码最好够强大,还有就是redis一些比较危险的操作命令最好进行更名或者禁用,请参看redis配置介绍,进行验证后,即可对redis进行操作,基础命令如:set name xinqing,get name输出:xinqing,今天不细说redis操作库的一些命令,稍后会进行全部整理介绍。


    


数据性能测试:


    redis有一个比较重要的测试命令,可以测试机器的基本处理能力,就是redis-benchmark命令,基础使用方法:./src/redis-benchmark -l,这个命令会持续进行下去,直到你Ctrl+c停止:


redis 执行so脚本 redis 启动脚本_redis基本命令_02




    redis-benchmark还有参数可以进行自定义测试,例如:./src/redis-benchmark -h 127.0.0.1 -p 6379 -c 100 -n 100000,这就是100个并发连接,100000个请求,检测host为127.0.0.1 端口为6379的redis服务器性能,本机速度肯定会很快,我测试过,如果通过网络测试别的机器,会有网络传输速率带来的时间消耗。


    以上是对redis的3个常用执行命令的使用方法。


---------------------------------------------------------------------------------------------------


下面会介绍一下redis的启动脚本,会带来很多方便:


新建文件 touch /etc/init.d/redis-server,然后赋予权限 chmod +x /etc/init.d/redis-server


    然后修改redis-server的内容 nano /etc/init.d/redis-server,编辑内容如下:


#!/bin/sh
#
# redis - this script starts and stops the redis-server daemon
#
# chkconfig:   - 85 15
# description:  Redis is a persistent key-value database
# processname: redis-server
# config:      /etc/redis/redis.conf
# config:      /etc/sysconfig/redis
# pidfile:     /var/run/redis.pid


# Source function library.
. /etc/rc.d/init.d/functions


# Source networking configuration.
. /etc/sysconfig/network


# Check that networking is up.
[ "$NETWORKING" = "no" ] && exit 0


redis="/usr/local/redis-master/src/redis-server"
prog=$(basename $redis)


REDIS_CONF_FILE="/usr/local/redis-master/redis.conf"


[ -f /etc/sysconfig/redis ] && . /etc/sysconfig/redis


lockfile=/var/lock/subsys/redis


start() {
    [ -x $redis ] || exit 5
    [ -f $REDIS_CONF_FILE ] || exit 6
    echo -n $"Starting $prog: "
    daemon $redis $REDIS_CONF_FILE
    retval=$?
    echo
    [ $retval -eq 0 ] && touch $lockfile
    return $retval
}


stop() {
    echo -n $"Stopping $prog: "
    killproc $prog -QUIT
    retval=$?
    echo
    [ $retval -eq 0 ] && rm -f $lockfile
    return $retval
}


restart() {
    stop
    start
}


reload() {
    echo -n $"Reloading $prog: "
    killproc $redis -HUP
    RETVAL=$?
    echo
}


force_reload() {
    restart
}


rh_status() {
    status $prog
}


rh_status_q() {
    rh_status >/dev/null 2>&1
}


case "$1" in
    start)
        rh_status_q && exit 0
        $1
        ;;
    stop)
        rh_status_q || exit 0
        $1
        ;;
    restart|configtest)
        $1
        ;;
    reload)
        rh_status_q || exit 7
        $1
        ;;
    force-reload)
        force_reload
        ;;
    status)
        rh_status
        ;;
    condrestart|try-restart)
        rh_status_q || exit 0
	    ;;
    *)
        echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}"
        exit 2
esac

目录自己根据自己结构定义我的是/usr/local/redis-master/src/redis-server,配置文件:/usr/local/redis-master/redis.conf,基本命令:




redis 执行so脚本 redis 启动脚本_redis 执行so脚本_03