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,看是否已经在进程中监听端口了
可以看到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-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,基本命令: