【Redis】Redis安装配置以及常见问题


Redis安装配置以及常见问题

前言:之前在Centos8上安装了Redis,今天尝试在Windows操作系统里使用Java连接并操作Redis,没想到遇到了许多问题,参考了各位大神的博客后终于连接成功了^_^

小小总结了下这个过程(为了尊重原博主也会贴上参考链接),希望对大家有所帮助。

该篇主要分为3个部分讲述本人刚刚接触Redis时所经历的事情和遇到的困难,主要内容包括安装、配置、远程连接:

1.Redis的安装。

2.在Windows下远程连接Linux中的Redis服务(redis-server)。

3.Java连接Linux操作系统上的Redis。

一、Redis的安装

参考: 参考:

1. 安装包下载

方法1:手动去官网https://redis.io/ 下载:tar.gz文件 方法2:直接使用如下命令下载(记得修改redis版本,这里使用6.06)(Linux下推荐直接使用命令哦~) wget http://download.redis.io/releases/redis-6.06.tar.gz 如果由于某种原因(比如Redis官网无法访问)无法下载也可以直接使用我之前已经下载好的安装包,然后传入到Linux环境(需要在Linux环境安装工具:yum -y install lrzsz,已支持的请忽略) (该博客无法上传附件,所以提供了永久有效的百度网盘链接,失效可以评论联系我,随时更新网盘分享链接)
链接:https://pan.baidu.com/s/1dt5g1y3ztWunhDufhDIo4w
提取码:re0q

 2. 解压安装

Step1:从~目录把安装包放入data文件夹里(可以选自己喜欢的文件夹)
[root@localhost ~]# mv redis-6.06.tar.gz /data 

Step2:进入/data并解压redis-6.06.tar.gz安装包

[root@localhost ~]# cd /data
[root@localhost data]# tar -xzvf redis-6.06.tar.gz

Step3:进入解压文件并编译安装

进入redis-6.06目录:
[root@localhost data]# cd redis-6.06/

编译:
[root@localhost redis-6.0.6]# make

编译结束后会自动生成src目录的。进入src目录:
[root@localhost redis-6.0.6]# cd src/

安装:
[root@localhost src]# make install

3. 基础环境配置(其实就是让redis-server和redis-cli命令随便在哪个目录都可以执行)

创建Redis的etc文件:
[root@localhost ~]# mkdir /usr/local/redis/etc

进入redis的解压目录
[root@localhost ~]# cd /data/redis-6.06

将解压目录中redis.conf移动到前面创建的目录/usr/local/redis/etc中
[root@localhost ~]# mv redis.conf /usr/local/redis/etc

配置redis.conf文件,后台启动
[root@localhost ~]# vi /usr/local/redis/etc/redis.conf
然后修改上述文件,将daemonize no 改成daemonize yes

将redis加入到开机启动
[root@localhost ~]# vi /etc/rc.local
在里面添加内容:/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf

(最重要)将redis-cli,redis-server拷贝到环境变量中,让这两个可以随时调用
[root@localhost ~]# cp /usr/local/redis/bin/redis-server /usr/local/bin/ cp /usr/local/redis/bin/redis-cli /usr/local/bin/

4.检查Redis是否安装并且配置成功

在利用XShell或者其他工具(这里使用Xshell作为例子)

新建1个连接,任意Linux目录输入redis-server(启动redis服务器)

[root@localhost ~]# redis-server

 重新开启一个窗口使用客户端连接。输入redis-cli(使用redis客户端连接redis服务器),出现连接后输入ping,如果返回pong则表示连接成功。

[root@localhost ~]# redis-cli 

 二、在Windows下远程连接Linux中的Redis服务(redis-server)

这里主要使用cmd命令窗口中的telnet命令查看是否连接成功

我的Linux服务器(虚拟机上)的ip地址为192.168.204.128(可以在Linux的终端使用ifconfig查看),Linux操作系统上Redis服务端口为6379(使用ps -ef | grep redis*查看)

所以在cmd窗口输入

telnet 192.168.204.128 6379

出现6379连接失败,我还以为我用错命令或者写错IP了呢,结果查询后发现,是Redis的相关配置存在问题。经过各种问题查询,最后连接成功~开心~

问题1:Linux防火墙

参考:

在Linux清空防火墙的规则并关闭防火墙

[root@localhost ~]# iptables -F
[root@localhost ~]# service iptables stop

重新在windows操作系统的cmd窗口输入命令telnet 192.168.204.128 6379,发现还是不能连接,好生气,于是我又去找,发现了问题2

问题2:redis.conf配置

参考:https://jingyan.baidu.com/article/546ae185d7b3911149f28cc3.html

Step1:修改redis.conf,找到bind 127.0.0.1将其修改为bind 0.0.0.0(这里使用vi编辑文本,如果vi还没有接触,可以使用nano /usr/local/redis/etc/redis.conf来编辑文本)

[root@localhost ~]# find / -name redis.conf
/usr/local/redis/etc/redis.conf
[root@localhost ~]# vi /usr/local/redis/etc/redis.conf

 Step2:重启redis-server

[root@localhost ~]# redis-server

然后我又跑去Windows下的cmd窗口输入命令telnet 192.168.204.128 6379,哇塞,连接上了,不过怎么报了不一样的错误

经过一番查询,发现是redis的密码没有设置,为了安全性,所以必须要设置密码。

问题3:redis未设置密码

参考:

所以这里给redis服务器添加密码(这里是临时性添加密码,永久性添加密码可以参考原博主的文章哦)

[root@localhost ~]# redis-cli
127.0.0.1:6379> config set requirepass
OK

 然后第3次跑去Windows下的cmd窗口输入命令telnet 192.168.204.128 6379。呼~终于连接上了,使用ping也能得到PONG了(还是和在Linux上校验是否启动Redis-server方式一样)

三、Java连接Linux操作系统上的Redis

Step1:新建一个Maven工程。

Step2:在Pom.xml中添加配置


    redis.clients
    jedis
    2.9.0

Step3:新建Main函数,利用Jedis连接Redis服务器。

一开始我对使用Jedis构造方法中的IP和port一直不理解需要填写什么,所以在这里也额外啰嗦一句:

IP = Linux服务器IP

PORT = Redis服务器所在端口

和前面的telnet是一样的

package Demo_Redis;

import redis.clients.jedis.*;

public class Main {
    public static void main(String args[]){
        Jedis jedis = new Jedis("192.168.204.128",6379);//连接
        jedis.auth("123456");//密码认证
        System.out.println(jedis.ping());//使用ping()和Redis打招呼
    }
}

Step4:运行程序。和Windows的telnet命令一样,得到了PONG

到这里,Redis的安装、配置、远程连接就搞定了,接下来的日子里,继续加油,也希望大家多多支持,谢谢~