CentOS7环境下安装单机Redis
环:
CentOS 7
版本
redis 5.0.7
工具
Xshell
下载地址
http://download.redis.io/releases/redis-5.0.7.tar.gz
准备工作
在CentOS下配置安装环境
1、安装gcc编译器:yum install gcc
2、检测是否安装wget,若未安装,使用 yum install wget
命令安***r> 3、安装ruby:yum install ruby
开始安装
1、自己选定一个目录下载源码包
使用:wget http://download.redis.io/releases/redis-5.0.7.tar.gz
命令下载源码包,也可以用ftp上传到服务器
下载后压缩包如图
然后将压缩包解压:tar -zxvf redis-5.0.7.tar.gz
(下载的压缩包名字)
2、编译源码并安装:
进入解压过后的目录:cd ./redis-5.0.7
使用make insatll
编译安装(make命令由gcc提供),执行命令后会跑一会编译,稍微等待一下,跑完如下图
进入./src目录,如下图,会出现几个可执行文件(绿色),其中就包含了redis-server等redis服务
退回上级目录,建立一个新目录用于存放编译出来的可执行文件
然后删除多余的.c、.o文件,再将配置文件redis.conf、sentinel.conf复制到文件中
3、前台启动redis服务
此时redis是前台启动,使用Ctrl+C组合键可以退出运行
4、后台启动Redis服务
修改redis.conf配置文件:vim redis.conf
搜索bind将其改为bind 0.0.0.0掉,bind配置是绑定ip,只允许绑定的ip访问,改掉后允许所有ip访问
搜索protected-mode 后面的yes改为no,关闭保护模式
搜索daemonize 改no为yes,设置为后台运行,然后保存退出
启动redis:
redis-server ./redis.conf
5、访问redis-cli客户端
测试set和get一个值,测试成功
安装完成
6、配置外部应用程序访问配置
此时直接用Java的Jedis连接会报连接超时异常,使用之前应该先打开对应的端口或者关闭防火墙,如果只是在自己的个人学习主机或者虚拟机上,可以直接关闭防火墙
systemctl stop firewalld
(关闭防火墙)
systemctl disable firewalld
(禁止重新启用防火墙)
或开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
(开放6379端口)
systemctl restart firewalld
(重启防火墙)
连接使用(maven项目)
1、pom.xml添加依赖
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.2.0</version>
</dependency>
2、java连接使用
Jedis jedis = new Jedis("192.168.119.128",6379);
System.out.println(jedis.getSet("test","testValue2"));
System.out.println(jedis.get("test"));
jedis.del("test");
System.out.println(jedis.get("test"));
jedis.close();
输出结果:
常用属性配置项(可直接用默认的)
打开redis下的bin目录下的redis.conf文件
可以对以下参数进行配置
daemonize
默认情况下, redis 不是在后台运行的,如果需要在后台运行,把该项的值更改为 yes。
pidfile
当 Redis 在后台运行的时候, Redis 默认会把 pid 文件放在/var/run/redis.pid
,你可以配置到其他地址。当运行多个 redis 服务时,需要指定不同的 pid 文件和端口
bind
指定 Redis 只接收来自于该 IP 地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中最好设置该项
port
监听端口,默认为 6379
timeout
设置客户端连接时的超时时间,单位为秒。当客户端在这段时间内没有发出任何指令,那么关闭该连接
loglevel
等级分为 4 级, debug, verbose, notice, 和 warning。生产环境下一般开启 notice
logfile
配置 log 文件地址,默认使用标准输出,即打印在命令行终端的窗口上
databases
设置数据库的个数,可以使用 SELECT 命令来切换数据库。默认使用的数据库是 0
save
设置 Redis 进行数据库镜像的频率。
if(在 60 秒之内有 10000 个 keys 发生变化时){
进行镜像备份
}else if(在 300 秒之内有 10 个 keys 发生了变化){
进行镜像备份
}else if(在 900 秒之内有 1 个 keys 发生了变化){
进行镜像备份
}
rdbcompression
在进行镜像备份时,是否进行压缩
dbfilename
镜像备份文件的文件名
dir
数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为 Redis 在进行备份时,先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该该临时文件替换为上面所指定的文件,而这里的临时文件和上面所配置的备份文件都会放
在这个指定的路径当中
requirepass
设置客户端连接后进行任何其他指定前需要使用的密码。警告:因为 redis 速度相当快,所以在一台比较好的服务器下,一个外部的用户可以在一秒钟进行 150K 次的密码尝试,这意味着你需要指定非常非常强大的密码来防止暴力破解。