开发者社区> 小金子> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Redis3.2的安装配置与JReid测试

简介: 环境 Centos7Redis版本 3.2.0安装目录 /usr/local/redis/redis-3.2.0 Redis的介绍 参见官网 安装 1 安装gcc与tcl# yum install gcc tcl 2 下载3.
+关注继续查看
环境 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
[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. #!/bin/sh  
  2. #  
  3. # Simple Redis init.d script conceived to work on Linux systems  
  4. # as it does use of the /proc filesystem.  
  5.   
  6.   
  7. REDISPORT=6379  
  8. EXEC=/usr/local/redis/redis-3.2.0/src/redis-server  
  9. CLIEXEC=/usr/local/redis/redis-3.2.0/src/redis-cli  
  10.   
  11.   
  12. PIDFILE=/var/run/redis_${REDISPORT}.pid  
  13. CONF="/usr/local/redis/redis-3.2.0/conf/${REDISPORT}.conf"  
  14.   
  15.   
  16. case "$1" in  
  17.     start)  
  18.         if [ -f $PIDFILE ]  
  19.         then  
  20.                 echo "$PIDFILE exists, process is already running or crashed"  
  21.         else  
  22.                 echo "Starting Redis server..."  
  23.                 $EXEC $CONF &  
  24.         fi  
  25.         ;;  
  26.     stop)  
  27.         if [ ! -f $PIDFILE ]  
  28.         then  
  29.                 echo "$PIDFILE does not exist, process is not running"  
  30.         else  
  31.                 PID=$(cat $PIDFILE)  
  32.                 echo "Stopping ..."  
  33.                 $CLIEXEC -p $REDISPORT shutdown  
  34.                 while [ -x /proc/${PID} ]  
  35.                 do  
  36.                     echo "Waiting for Redis to shutdown ..."  
  37.                     sleep 1  
  38.                 done  
  39.                 echo "Redis stopped"  
  40.         fi  
  41.         ;;  
  42.     *)  
  43.         echo "Please use start or stop as first argument"  
  44.         ;;  
  45. 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下写服务文件
[html] view plain copy
 在CODE上查看代码片派生到我的代码片
  1. # cd /etc/systemd/system  
  2. # vi redis_6379.service  
  3.   
  4. [Unit]  
  5. Description=Redis on port 6379  
  6. [Service]  
  7. Type=forking  
  8. ExecStart=/etc/init.d/redis start  
  9. ExecStop=/etc/init.d/redis stop  
  10. [Install]  
  11. 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.csdn.net/yingxiake/article/details/51472810


参考资料

吴水成 Dubbo视频教程 redis的安装与使用
http://blog.csdn.net/yingxiake/article/details/51472810

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
redis介绍,redis安装,redis持久化,redis数据类型
Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。
1565 0
redis aof持久化
redis aof缓存数据结构  redis用于存储aof内存数据的数据结构是aof_buf数据结构,所有数据先追加到内存的aof_buf后,再通过定时任务检查是否能够持久化到磁盘文件当中。
865 0
春夏秋冬又一春之Redis持久化
非常感谢《redis实战》真本书,本文大多内容也参考了书中的内容。非常推荐大家看一下《redis实战》这本书,感觉书中的很多理论性东西还是很不错的。本文主要讲了快照持久化和AOF持久化。
2068 0
Redis详解(七)------ AOF 持久化
  上一篇文章我们介绍了Redis的RDB持久化,RDB 持久化存在一个缺点是一定时间内做一次备份,如果redis意外down掉的话,就会丢失最后一次快照后的所有修改(数据有丢失)。对于数据完整性要求很严格的需求,怎么解决呢?   本篇博客接着来介绍Redis的另一种持久化方式——AOF。
1532 0
Redis详解(六)------ RDB 持久化
   前面我们说过,Redis 相对于 Memcache 等其他的缓存产品,有一个比较明显的优势就是 Redis 不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
1577 0
Redis 持久化(学习笔记五)
持久化:RDB AOF RDB:快照  bgsave以子进程的方式使用  RDB保存在dir目录,文件名dbfilename,设置压缩:rdbcompression  RDB没办法实时, AOF:以日志方式,配置:appendonly开启, AOF同步...
671 0
redis 数据备份持久化方案
原文:redis 数据备份持久化方案 本文链接:http://www.cnblogs.com/zhenghongxin/p/9050219.html 使用两种备份方案 备份方案选择RDB和AOF同时进行备份,必须打开AOF的持久化机制,除非能接受在故障环境下丢失几分钟的数据。
934 0
redis两种持久化模式
一:快照模式 或莫过于SNAPSHOTTING模式,这个不需要反驳吧,而且你可能还知道,使用SNAPSHOTTING模式,需要在redis.conf中设置配置参数,比如下面这样: | Save the DB on disk: # # save ...
978 0
redis的两种持久化
redis提供两种方式进行持久化: 一种是RDB持久化(原理是将Reids在内存中的数据库记录定时dump到磁盘上的RDB持久化) 一种是AOF(append only file)持久化(原理是将Reids的操作日志以追加的方式写入文件)。
1042 0
Redis笔记4-持久化方案
一:快照模式   默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定),在配置文件中的格式是:save N M表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。
1043 0
+关注
小金子
热爱分布式技术
344
文章
11
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载