Redis的安装与启动

redis的安装还是比较简单的,只不过有一些配置什么的需要注意,如果能设置为服务启动最好。

1.解压文件

1
$ tar -zxvf redis-3.2.5.tar.gz

2.编译

1
2
$ cd redis-3.2.5
$ make

编译完成后,在./Src目录下,有三个可执行文件redis-server、redis-benchmark、redis-cli和./redis.conf然后拷贝到一个目录下。

3.修改配置

vi redis.conf

注意几个点:

  1. bind 127.0.0.1 注释掉该句
  2. 顺便在下面一行添加 requirepass 123456
  3. daemonize no 改为 daemonize yes

4.启动

进入src目录

执行redis-server ../redis.conf

测试是否启动成功

1
2
3
4
5
redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

5.设置为服务

如要创建一个名为redisd的文件,脚本内容在下方

1
2
3
4
5
6
7
$ vi /etc/rc.d/init.d/redisd
$ chmod a+x /etc/rc.d/init.d/redisd
$ cp /etc/rc.d/init.d/redisd /etc/init.d/redisd
$ chmod a+x /etc/init.d/redisd
$ chkconfig --add redisd #添加系统服务
$ chkconfig redisd on #开机启动
$ chkconfig --list redisd #查看

脚本内容如下:

注意脚本里面的路径需根据实际情况调整。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
#!/bin/sh
#chkconfig: 345 86 14
#description: Startup and shutdown script for Redis

REDISPORT=6379
PROGDIR=/usr/local/redis-3.2.5/src
PROGNAME=redis-server
DAEMON=$PROGDIR/$PROGNAME
CONFIG=/usr/local/redis-3.2.5/redis.conf
PIDFILE=/var/run/redis_${REDISPORT}.pid
DESC="redis daemon"
SCRIPTNAME=/etc/init.d/redisd

start()
{
if test -x $DAEMON
then
echo -e "Starting $DESC: $PROGNAME"
if $DAEMON $CONFIG
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "Couldn't find Redis Server ($DAEMON)"
fi
}

stop()
{
if test -e $PIDFILE
then
echo -e "Stopping $DESC: $PROGNAME"
if kill `cat $PIDFILE`
then
echo -e "OK"
else
echo -e "failed"
fi
else
echo -e "No Redis Server ($DAEMON) running"
fi
}

restart()
{
echo -e "Restarting $DESC: $PROGNAME"
stop
start
}

list()
{
ps aux | grep $PROGNAME
}

case $1 in
start)
start
;;
stop)
stop
;;
restart)
restart
;;
list)
list
;;

*)
echo "Usage: $SCRIPTNAME {start|stop|restart|list}" >&2
exit 1
;;
esac
exit 0

一切顺利之后,可以用如下命令管理redis服务

1
2
3
4
$ service redisd start
$ service redisd stop
$ service redisd restart
$ service redisd list

如果遇到No such file or directory问题。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
解决方法
分析原因,可能平台迁移碰到权限问题,我们来进行权限转换


1)在Windows下转换:

利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。


2)方法

用vim打开该sh文件,输入:
[plain]
:set ff
回车,显示fileformat=dos,重新设置下文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再执行,竟然可以了

3)在linux中的权限转换


也可在Linux中转换:

首先要确保文件有可执行权限

#chmod u+x filename

然后修改文件格式

#vi filename

三种方法都可以方便快速的解决关于Linux执行.sh文件,提示No such file or directory这个问题了。

如果要清理缓存

1
2
3
$ redis-cli -p 6379	#登录redis
redis> auth 123456 #在redis命令行输入密码
redis> flushall #在redis命令行清除缓存