环境 Centos7
Redis版本 3.2.0
安装目录 /usr/local/redis/redis-3.2.0
Redis的介绍
参见官网
安装
1 安装gcc与tcl
# yum install gcc tcl
2 下载3.2.0
# mkdir /usr/local/redis
# cd /usr/local/redis
# wget http://download.redis.io/releases/redis-3.2.0.tar.gz
3 解压
# tar -zxvf redis-3.2.0.tar.gz
# mv rredis-3.2.0.tar.gz redis3.2.0
# cd redis3.2.0
4 安装
# make test
安装的时候有可能会报一些小错误,大家看提示即可
安装完成后,如下
src目录下有redis-server,redis-cli等命令
配置成服务
5配置成服务
Redis 的启动脚本为:/usr/local/redis/redis-3.2.0/utils/redis_init_script
将启动脚本复制到/etc/init.d/redis目录下,并命名为redis:
# cp /usr/local/redis/redis-3.2.0/utils/redis_init_script /etc/init.d/redis
///////////////
这里说一个题外话,linux有个/etc/init.d文件夹还有一个/etc/rc.d/init.d文件夹
两个有什么区别呢?
/etc/init.d是/etc/rc.d/init.d的一个软连接
那么什么是软连接
ln 3.txt 4
把3.txt复制一份为4
但是修改3.txt后,在4上能看到变化
修改4后在3.txt上也能看到变化
但是删除了两个中的一个后,另一个并不会被删除。
ln 3.txt 4 叫硬连接
ln -s 3.txt 5叫软连接
上面的s不是soft,是symboilc
就是为3.txt新建一个叫5的快捷方式
那么删除了5,3.txt还是OK的
不过要是删除了3.txt,那么5就不能用了。
///////////////
当然redis_init_script我们还得更改一下redis_init_script
这么吧 我把我更改后的贴出来,大家自己对照redis_init_script
#!/bin/sh # # Simple Redis init.d script conceived to work on Linux systems # as it does use of the /proc filesystem. REDISPORT=6379 EXEC=/usr/local/redis/redis-3.2.0/src/redis-server CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli PIDFILE=/var/run/redis_${REDISPORT}.pid CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf" 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 ;; stop) if [ ! -f $PIDFILE ] then echo "$PIDFILE does not exist, process is not running" else PID=$(cat $PIDFILE) echo "Stopping ..." $CLIEXEC -p $REDISPORT shutdown while [ -x /proc/${PID} ] do echo "Waiting for Redis to shutdown ..." sleep 1 done echo "Redis stopped" fi ;; *) echo "Please use start or stop as first argument" ;; esac
我们要修改这几个地方:
(1) REDISPORT 端口保持 6379 不变;(注意,端口名将与下面的配置文件名有关)
(2) EXEC=/usr/local/bin/redis-server 改为 EXEC=/usr/local/redis/redis-3.2.0/src/redis-server
(3) CLIEXEC=/usr/local/bin/redis-cli 改为 CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli
(4) 配置文件设置:
创建 redis 配置文件目录
我们知道,直接运行redis-3.2.0/src/redis-server是可以的,但是我们一般都给它增加一个配置文件
# mkdir /usr/local/redis/conf
复制 redis 配置文件/usr/local/redis/redis-3.2.0/redis.conf 到/usr/local/redis/conf 目录并按端口
号重命名为 6379.conf
# cp /usr/local/redis/redis-3.2.0/redis.conf /usr/local/redis/redis-3.2.0/conf/6379.conf
做了以上准备后,再对 CONF 属性作如下调整:
CONF="/etc/redis/${REDISPORT}.conf" 改为 CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf"
(5) 更改 redis 开启的命令,以后台运行的方式执行:
$EXEC $CONF & #“&”作用是将服务转到后面运行
在/etc/systemd/system下写服务文件
# cd /etc/systemd/system # vi redis_6379.service [Unit] Description=Redis on port 6379 [Service] Type=forking ExecStart=/etc/init.d/redis start ExecStop=/etc/init.d/redis stop [Install] WantedBy=multi-user.target
开启服务
systemctl start redis_6379.service
使用java远程测试
代码我就不贴了,网上有一大堆
不过就刚才的配置来说,我们远程java连接铁定出问题
大概会报这两个错误
Could not get a resource from the pool, Connection refused: connect
DENIED Redis is running in protected mode because protected mode is enabled…
问题在于,默认的conf文件绑定了本机ip,咱们得注释掉
第二,远程访问的加上密码,我们还得在conf里设置(具体怎么设密码,自己百度吧)
参见
http://blog.****.net/yingxiake/article/details/51472810
参考资料
吴水成 Dubbo视频教程 redis的安装与使用
http://blog.****.net/yingxiake/article/details/51472810