Redis学习笔记:使用第三方框架连接Redis服务器前需要做哪些事?

本文涉及的产品
Redis 开源版,标准版 2GB
推荐场景:
搭建游戏排行榜
简介: 通过Lettuce连接远程Redis服务器需要在客户端配置文件中配置Redis服务器的地址、端口、密码等信息。

BackGround:

  1. 服务器:Redis安装在了Linux服务器中
  2. 客户端:使用本地的IDEA,搭建Maven工程,通过Lettuce作为客户端操作服务器的Redis

服务器配置工作

配置文件

配置文件中需要设置

  1. port:服务器端口号
  2. requirepass:密码验证
  3. protected-mode:将该参数设置为no
  4. bind:可以设置为*,方便开发环境

首先你需要知道配置文件在哪

配置文件的名称是:redis.conf,所以你可以通过下面的命令去寻找文件的位置:

复制

sudo find / -name redis.conf

效果如下:(可恶...一不小心暴露了我原先的远古版本)

[root@Chengyunlai /]# sudo find / -name redis.conf
/usr/local/redis-6.0.10/redis.conf

修改配置文件

  1. 先备份:

修改前,要备份,是个好习惯。(记得路径要对应成你的实际路径啊!也就是上面的/usr/local/redis-6.0.10/

cp /usr/local/redis-6.0.10/redis.conf /usr/local/redis-6.0.10/redis.conf.$(date +%Y-%m-%d-%H%M%S).bak

$(date +%Y-%m-%d-%H%M%S) 表示当前时间的年月日时分秒格式。该命令会在备份文件名后添加时间戳,便于区分备份版本。效果如下:

  1. 修改配置文件

还记得我们需要修改什么吗?port、requirepass、protected-mode、bind

使用vim命令,到redis.conf所在的目录,通过:

vim redis.conf

或者直接用上面输出的位置路径:

vim /usr/local/redis-6.0.10/redis.conf
出现提示信息,如果是备份的信息,选择 E,就是说我们要编辑该文件。如果没有出现提示信息,则忽略。

哇吼,进去真的是密密麻麻的,不要慌张。跟着我一步一步来。

image.png

请输入:/,然后接着你想要在此文件中查询的内容,例如port

:/port

效果如下,你会发现文件中port的内容高亮显示了,同时会定位到本页第一个出现port的位置:

image.png

可以使用 n 键向下跳转到下一个匹配项,使用 N 键向上跳转到上一个匹配项。

一般默认端口是6379,所以我们可以通过如下命令定位:

:/port 6379

输入i命令,进入编辑模式,将6379改成其他端口(安全),具体端口范围默认是:32768 到 60999


同理我们定位修改requirepass

设置为 requirepass 实际密码

requirepass该参数用于启用 Redis 的密码身份验证功能。如果该参数的值为空,那么 Redis 将不需要进行密码身份验证。请确保该参数已经设置,在客户端连接以及重启Redis服务器时都需要进行密码验证。


同理我们定位修改protected-mode

设置为 protected-mod no

protected-mode的参数是设置Redis的保护模式,如果参数为yes只有来自本地 IP 地址的连接才能访问 Redis服务器。设置该参数的值为 "no",允许来自远程 IP 地址的连接。


同理我们定位修改bind

设置为 bind *

bind指定Redis服务器绑定的IP地址。可以设置为两个值:1. 实际使用的IP地址;2. *

作用:允许从任何 IP 地址连接到 Redis 服务器。

关闭Redis服务器

如果你原先启动了,做了配置修改,你当然要关闭!

我们首先要找到redis-cli,也就是客户端,查找的方式同上。执行命令如下:

redis-cli -a 新密码 -p 新端口 shutdown
有人可能会有疑问了!诶我刚做的设置,现在Redis应该是老配置啊,咋还需要填入修改的密码和端口这些信息呢?因为redis服务在运行时已经使用了修改后的密码进行身份验证,所以关闭服务时同样需要使用新密码。而端口也是服务在运行时已经使用了新端口号进行监听,所以在关闭服务时需要使用新端口号。

重启

redis-cli同目录下有redis-server。我们在启动服务器的时候记得带上配置文件:

./redis-server /usr/local/redis-6.0.10/redis.conf

OK,以上就是服务器的配置。


Maven工程

这里就直接贴代码和步骤了,不说理由咯!上车。

依赖

<dependencies>
    <dependency>
        <groupId>io.lettuce</groupId>
        <artifactId>lettuce-core</artifactId>
        <version>6.1.8.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.13.1</version>
        <scope>test</scope>
    </dependency>
</dependencies>

测试

public class RedisTest {
    private static RedisClient redisClient;

    private static StatefulRedisConnection<String, String> connection;

    private static RedisAsyncCommands<String, String> asyncCommands;

    @Before
    public void before(){
        redisClient = RedisClient.create("redis://密码@IP:端口/0");
        connection = redisClient.connect();
        asyncCommands = connection.async();
    }

    @After
    public void after(){
        connection.close();
        redisClient.shutdown();
    }

    /**
     * @Description: 操控Redis客户端
     * @Param: []
     * @return: void
     * @Author: chengyunlai
     * @Date: 2023/3/1
     */
    @Test
    public void testConnectAndSet() throws Exception {
        asyncCommands.set("name", "Chengyunlai").get(1, TimeUnit.SECONDS);
    }

该工程若是了解起来有问题,请在评论区中留言。

目录
相关文章
|
存储 缓存 NoSQL
Redis 服务器全方位介绍:从入门到核心原理
Redis是一款高性能内存键值数据库,支持字符串、哈希、列表等多种数据结构,广泛用于缓存、会话存储、排行榜及消息队列。其单线程事件循环架构保障高并发与低延迟,结合RDB和AOF持久化机制兼顾性能与数据安全。通过主从复制、哨兵及集群模式实现高可用与横向扩展,适用于现代应用的多样化场景。合理配置与优化可显著提升系统性能与稳定性。
267 0
|
1月前
|
NoSQL Java 网络安全
SpringBoot启动时连接Redis报错:ERR This instance has cluster support disabled - 如何解决?
通过以上步骤一般可以解决由于配置不匹配造成的连接错误。在调试问题时,一定要确保服务端和客户端的Redis配置保持同步一致。这能够确保SpringBoot应用顺利连接到正确配置的Redis服务,无论是单机模式还是集群模式。
198 5
|
4月前
|
安全
基于Reactor模式的高性能服务器之Acceptor组件(处理连接)
本节介绍了对底层 Socket 进行封装的设计与实现,通过 `Socket` 类隐藏系统调用细节,提供简洁、安全、可读性强的接口。重点包括 `Socket` 类的核心作用(管理 `sockfd_`)、成员函数的功能(如绑定地址、监听、接受连接等),以及 `Acceptor` 组件的职责:监听连接、接收新客户端连接并分发给上层处理。同时说明了 `Acceptor` 与 `EventLoop` 和 `TcpServer` 的协作关系,并展示了其成员变量和关键函数的工作机制。
116 2
|
3月前
|
SQL Oracle 关系型数据库
【赵渝强老师】Oracle客户端与服务器端连接建立的过程
Oracle数据库采用客户端-服务器架构,客户端通过其网络环境与服务器通信,实现数据库访问。监听程序负责建立连接,通过命令lsnrctl可启动、停止及查看监听状态。本文介绍了监听器的作用及相关基础管理操作。
187 0
|
8月前
|
NoSQL Redis Docker
Docker——阿里云服务器利用docker搭建redis集群
本文详细记录了使用Docker搭建Redis集群的过程,包括检查Docker和Docker Compose的安装、创建Redis配置文件、编写`docker-compose.yml`文件、启动Redis节点、创建Redis集群的具体步骤,以及最终的验证方法。文章还提供了在多服务器环境下搭建Redis集群的注意事项,帮助读者全面了解 Redis 集群的部署流程。
962 68
|
11月前
|
NoSQL 应用服务中间件 API
Redis是如何建立连接和处理命令的
本文主要讲述 Redis 是如何监听客户端发出的set、get等命令的。
1594 160
|
9月前
|
消息中间件 存储 NoSQL
java连接redis和基础操作命令
通过以上内容,您可以掌握在Java中连接Redis以及进行基础操作的基本方法,进而在实际项目中灵活应用。
511 30
|
监控 NoSQL 网络协议
【Azure Redis】部署在AKS中的应用,连接Redis高频率出现timeout问题
查看Redis状态,没有任何异常,服务没有更新,Service Load, CPU, Memory, Connect等指标均正常。在排除Redis端问题后,转向了AKS中。 开始调查AKS的网络状态。最终发现每次Redis客户端出现超时问题时,几乎都对应了AKS NAT Gateway的更新事件,而Redis服务端没有任何异常。因此,超时问题很可能是由于NAT Gateway更新事件导致TCP连接被重置。
231 7
|
弹性计算 NoSQL Redis
|
1月前
|
弹性计算 运维 安全
阿里云轻量应用服务器与云服务器ECS啥区别?新手帮助教程
阿里云轻量应用服务器适合个人开发者搭建博客、测试环境等低流量场景,操作简单、成本低;ECS适用于企业级高负载业务,功能强大、灵活可扩展。二者在性能、网络、镜像及运维管理上差异显著,用户应根据实际需求选择。
216 10

热门文章

最新文章

下一篇
oss云网关配置