当前位置: 首页 > news >正文

【Redis】构建强韧的远程Redis连接与端口保障机制完美指南

【Redis】构建强韧的远程Redis连接与端口保障机制完美指南

大家好 我是寸铁👊
总结了【Redis】构建强韧的远程Redis连接与端口保障机制完美指南✨
喜欢的小伙伴可以点点关注 💝

前言

在当今的软件开发领域中,远程访问和操作数据存储是极为常见且重要的需求之一。特别是对于大规模应用或分布式系统而言,远程连接到数据存储以进行读写操作是至关重要的。在这样的场景中,Redis作为一种快速、高效的内存数据库,被广泛应用于缓存、会话管理和消息队列等各种用例中。
在使用Golang编写程序实现远程连接和操作Redis时,需要一套可靠、高效的解决方案。本篇博客将探讨如何通过Golang语言来实现对Redis数据库的远程访问和操作。我们将介绍如何建立与Redis的连接、进行数据读写操作以及保障远程连接的安全性。 通过学习本文,您将掌握如何利用Golang编写出优雅、稳健的远程Redis连接程序,为您的应用提供可靠的数据支持。

代码如下:

var rdb *redis.Client// 建立redis连接
func init() {rdb = redis.NewClient(&redis.Options{Addr:     "182.44.10.6:6379",Password: "",DB:       0,})
}

步骤

Step1

  • 先找到 redis.conf配置文件
find / -name redis.conf

如:我的配置文件在如下目录:
在这里插入图片描述

  • 之后再cd到所在的目录
cd /xx/redis-7.0.8/
  • 进入目录打开文件
vim redis.conf
  • 找到如下位置
bind 127.0.0.1
  • 修改为如下:
bind 0.0.0.0

这一步是使得不只是向本地开放redis连接,而是向外部开放,这样就可以远程连接了。

在这里插入图片描述


  • 再找到如下信息位置:
protected-mode yes

在这里插入图片描述


  • 修改内容如下:
protected-mode no

在这里插入图片描述

这一步是打开受保护模式,使得外部可以远程访问redis


  • 保存并退出

Step2

  • 重新加载服务端
nohup ./redis-server /root/redis-7.0.8/redis.conf  > /dev/null 2>&1 &

在这里插入图片描述


  • 查看redis-server的进程号
 ps aux | grep redis-server
  • 再将原有的带127.0.0.1:6379redis连接删除

使用如下命令:

kill -9 25633(替换为具体的进程号) 

在这里插入图片描述

Step3

  • 重新后台启动服务端,加载配置文件,确保配置生效。
 nohup ./redis-server /xx/redis-7.0.8/redis.conf  > /dev/null 2>&1 &

在这里插入图片描述

  • 再重新查看一下redis-server的进程号
ps aux | grep redis-server

在这里插入图片描述


Step4

  • 重新运行程序,远程连接redis

成功拿到keyvalue不报错,远程连接成功!

在这里插入图片描述

补充

如果说加载按照上面加载配置文件后,还是不能够远程连接,考虑开放防火墙端口。

1.查看防火墙是否已开启对6379端口的放行

#查看6379/tcp端口是否已开 开为yes 没开为no
firewall-cmd --zone=public --query-port=6379/tcp#查看系统所有开放的端口
firewall-cmd --zone=public --list-ports

在这里插入图片描述

no说明没开放

  1. 如果没放行,通过以下命令放行6379端口:
#配置防火墙,打开6379端口
sudo firewall-cmd --zone=public --add-port=6379/tcp --permanent

在这里插入图片描述

  • 重新启动防火墙
#重新启动防火墙
sudo systemctl restart firewalld.service

在这里插入图片描述


  • 再次查询开放是否生效
firewall-cmd --zone=public --query-port=6379/tcp

在这里插入图片描述

yes 说明开放成功生效!


结语

在现代软件开发中,对于远程访问和操作数据存储的需求变得越来越普遍。通过本文,我们深入探讨了如何利用Golang编写程序实现对Redis数据库的远程连接和操作。我们学习了建立与Redis的连接、进行数据读写操作以及保障远程连接安全性的方法。
通过这些技术,我们可以构建出高效、稳健的远程Redis连接程序,为我们的应用提供可靠的数据支持。无论是缓存、会话管理还是消息队列,Redis都能够为我们的应用提供出色的性能和可伸缩性。
在未来的软件开发中,随着技术的不断发展和需求的不断变化,我们可以继续深入探索更多高级技术和最佳实践,以进一步提升我们的远程连接和操作的效率和安全性。


看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕


往期好文💕

保姆级教程

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go-Zero】手把手带你在goland中创建api文件并设置高亮


报错解决

【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项

【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案

【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案

【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案

【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案

【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案


Go面试向

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式

相关文章:

【Redis】构建强韧的远程Redis连接与端口保障机制完美指南

【Redis】构建强韧的远程Redis连接与端口保障机制完美指南 大家好 我是寸铁👊 总结了【Redis】构建强韧的远程Redis连接与端口保障机制完美指南✨ 喜欢的小伙伴可以点点关注 💝 前言 在当今的软件开发领域中,远程访问和操作数据存储是极为常见…...

Flowable项目启动报错#java.time.LocalDateTime cannot be cast to java.lang.String

Flowable 项目启动后报错 flow项目第一次启动创建表成功,但是第二次启动时报错信息如下: 1、Error creating bean with name ‘appRepositoryServiceBean’ defined in class 2、Error creating bean with name ‘flowableAppEngine’: FactoryBean t…...

《数字电路》

问答题4*5 在数字电路中,三极管经常工作在哪两种开关状态? 在数字电路中,三极管经常工作在饱和导通状态和截止状态。 时序电路根据输出信号分为哪两类? 时序电路根据输出信号分为莫尔型和米里型两类。 写出三种以上常用的二-十…...

STM32F103 点亮LED闪烁与仿真

STM32F103 点亮LED闪烁与仿真 今天给大家分享一下STM32 流水灯简单的仿真吧,我感觉这个提供有用的,但是自己也是第一次使用,主要是感觉曲线很高级。在PWM中查看脉宽很有用。 code: led.c #include "led.h" #include "delay…...

阿里云服务器发送邮件失败 Could not connect to SMTP host: smtp.xxx.com, port: 465;

最近做了一个发送邮件的功能, 在本地调试完成后,部署到阿里云服务器就一直报错, Could not connect to SMTP host: smtp.qiye.aliyun.com, port: 465; 网上也搜索了很多的资料,最后花了好几个小时才解决, 报错日志如下…...

Socket编程权威指南(二)完美掌握TCP流式协议及Socket编程的recv()和send()

在上一篇文章中,我们学习了Socket编程的基础知识,包括创建Socket、绑定地址、监听连接、接收连接等操作。然而,真正的套接字编程远不止于此。本文将重点介绍TCP 流式协议,什么是粘包问题?如何解决粘包问题 &#xff1f…...

当C++的static遇上了继承

比如我们想要统计下当前类被实例化了多少次,我们通常会这么写 class A { public:A() { Count_; }~A() { Count_--; }int GetCount() { return Count_; }private:static int Count_; };class B { public:B() { Count_; }~B() { Count_--; }int GetCount() { return …...

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中,Three.js是一个极为强大的库,它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用,用户与3D场景的交互变得日益重要。而要实现这种交互,一个核心的技…...

5 分钟内构建一个简单的基于 Python 的 GAN

文章目录 一、说明二、代码三、训练四、后记 一、说明 生成对抗网络(GAN)因其能力而在学术界引起轩然大波。机器能够创作出新颖、富有灵感的作品,这让每个人都感到敬畏和恐惧。因此,人们开始好奇,如何构建一个这样的网…...

智能硬件产品中常用的参数存储和管理方案

一、有哪些参数需要管理? 在智能硬件产品中,一般有三类数据需要存储并管理: 1. 系统设置数据 系统设置数据是指产品自身正常工作所依赖的一些参数。 这类数据的特点:只能在生产过程中修改,出厂后用户无权限修改。 比如:产品SN、产品密钥/token/license、传感器校准值…...

SwiftUI中Mask修饰符的理解与使用

Mask是一种用于控制图形元素可见性的图形技术&#xff0c;使用给定视图的alpha通道掩码该视图。在SwiftUI中&#xff0c;它类似于创建一个只显示视图的特定部分的模板。 Mask修饰符的定义&#xff1a; func mask<Mask>(alignment: Alignment .center,ViewBuilder _ ma…...

全光网络与传统网络架构的对比分析

随着信息技术的飞速发展&#xff0c;网络已经成为我们日常生活中不可或缺的一部分。在这个信息爆炸的时代&#xff0c;全光网络和传统网络架构作为两种主流的网络技术&#xff0c;各有其特点和适用范围。本文将对这两种网络架构进行详细的对比分析&#xff0c;帮助读者更好地了…...

stack overflow复现

当你在内存的栈中&#xff0c;存放了太多元素&#xff0c;就有可能在造成 stack overflow这个问题。 今天看看如何复现这个问题。 下图&#xff0c;是我写的程序&#xff0c;不断的创造1KB的栈&#xff0c;来看看执行了多少次&#xff0c;无限循环。 最后结果是7929kB时, 发…...

mybatis使用笔记

文章目录 打印sql日志mybatis-config.xml方式application.yml里面配置配置类配置方式 其他扫描方式官网文档 mybatis用了那么久&#xff0c;实际一直不明白&#xff0c;做个笔记吧。 打印sql日志 实测&#xff0c;mybatis-config.xml方式好用(记得注掉yml里的相关配置) mybat…...

学习笔记——路由网络基础——路由概述

一、路由概述 1、路由定义与作用 路由(routing)是指导报文转发路径信息&#xff0c;通过路由可以确认转发IP报文的路径。 路由&#xff1a;是指路由器从一个接口上收到数据包&#xff0c;根据数据包的目的地址进行定向并转发到另一个接口的过程。 路由(routing)的定义是指分…...

在量子计算时代,大数据技术将面临哪些挑战和机遇?

在量子计算时代&#xff0c;大数据技术将面临以下挑战和机遇&#xff1a; 挑战&#xff1a; 处理速度&#xff1a;量子计算机具有极高的计算速度&#xff0c;大数据技术需要适应和充分利用这种速度。现有的大数据算法和架构可能需要重新设计和优化&#xff0c;以充分发挥量子计…...

怎么换自己手机的ip地址

在互联网时代&#xff0c;IP地址已经成为了我们数字身份的一部分。无论是浏览网页、下载文件还是进行在线交流&#xff0c;我们的IP地址都在默默发挥着作用。然而&#xff0c;有时出于安全或隐私保护的考虑&#xff0c;我们可能需要更换手机的IP地址。那么&#xff0c;如何轻松…...

搭建 Langchain-Chatchat 详细过程

前言 本文参考官网和其他多方教程&#xff0c;将搭建 Langchain-Chatchat 的详细步骤进行了整理&#xff0c;供大家参考。 我的硬件 4090 显卡win10 专业版本 搭建环境使用 chatglm2-6b 模型 1. 创建虚拟环境 chatchat &#xff0c;python 3.9 以上 conda create -n chat…...

C++期末复习

目录 1.基本函数 2.浅拷贝和深拷贝 3.初始化列表 4.const关键字的使用 5.静态成员变量和成员函数 6.C对象模型 7.友元 8.自动类型转换 9.继承 1.基本函数 &#xff08;1&#xff09;构造函数&#xff0c;这个需要注意的就是我们如果使用类名加括号&#xff0c;括号里面…...

2005-2022年各省居民人均消费支出数据(无缺失)

2005-2022年各省居民人均消费支出数据&#xff08;无缺失&#xff09; 1、时间&#xff1a;2005-2022年 2、来源&#xff1a;国家统计局、统计年鉴 3、指标&#xff1a;全体居民人均消费支出 4、范围&#xff1a;31省 5、缺失情况&#xff1a;无缺失 6、指标解释 居民人…...

swaggerHole:针对swaggerHub的公共API安全扫描工具

关于swaggerHole swaggerHole是一款针对swaggerHub的API安全扫描工具&#xff0c;该工具基于纯Python 3开发&#xff0c;可以帮助广大研究人员检索swaggerHub上公共API的相关敏感信息&#xff0c;整个任务过程均以自动化形式实现&#xff0c;且具备多线程特性和管道模式。 工具…...

【Rust】——面向对象设计模式的实现

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…...

C#朗读语音

最近有个需求&#xff0c;需要在C#程序发生异常时候&#xff0c;朗读文字&#xff0c;C#提供了.net framework可以提供简单的语音朗读功能。 引入依赖 using System.Media; using System.Speech.Synthesis; using System.Runtime.InteropServices; //报警音量 SystemSounds.…...

c++ 简单的日志类 CCLog

此日志类&#xff0c;简单地实现了向标准输出控制台和文件输出日志信息的功能&#xff0c;并能在这两者之间进行切换输出&#xff0c;满足输出日志的不同需求。 代码如下&#xff1a; /** CCLog.h* c_common_codes** Created by xichen on 12-1-12.* Copyright 2012 cc_te…...

一文读懂 Compose 支持 Accessibility 无障碍的原理

前言 众所周知&#xff0c;Compose 作为一种 UI 工具包&#xff0c;向开发者提供了实现 UI 的基本功能。但其实它还默默提供了很多其他能力&#xff0c;其中之一便是今天需要讨论的&#xff1a;Android 特色的 Accessibility 功能。 采用 Compose 搭建的界面&#xff0c;完美…...

Redis到底支不支持事务?

文章目录 一、概述二、使用1、正常执行&#xff1a;2、主动放弃事务3、全部回滚:4、部分支持事务:5、WATCH: 三、事务三阶段四、小结 redis是支持事务的&#xff0c;但是它与传统的关系型数据库中的事务是有所不同的 一、概述 概念: 可以一次执行多个命令&#xff0c;本质是一…...

美颜相机「BeautyCam」v12.0.80 祛广告解索会员版(美妆相机功能,展现女神魅力)

软件介绍 美颜相机&#xff0c;一款由知名移动互联网企业Meitu Inc.开发的移动设备照片编辑与美化应用&#xff0c;起初主要针对娱乐消费市场&#xff0c;随后集成了商业营销功能。目前&#xff0c;它已跻身全球最受欢迎的手机摄影应用程序之列。在中国&#xff0c;美颜相机和…...

Oracle的优化器

sql优化第一步&#xff1a;搞懂Oracle中的SQL的执行过程 从图中我们可以看出SQL语句在Oracle中经历了以下的几个步骤&#xff1a; 语法检查&#xff1a;检查SQL拼写是否正确&#xff0c;如果不正确&#xff0c;Oracle会报语法错误。 语义检查&#xff1a;检查SQL中的访问对象…...

[线程与网络] 网络编程与通信原理(六):深入理解应用层http与https协议(网络编程与通信原理完结)

&#x1f338;个人主页:https://blog.csdn.net/2301_80050796?spm1000.2115.3001.5343 &#x1f3f5;️热门专栏:&#x1f355; Collection与数据结构 (92平均质量分)https://blog.csdn.net/2301_80050796/category_12621348.html?spm1001.2014.3001.5482 &#x1f9c0;Java …...

个人博客的未来出路在哪里?

说起个人博客的未来这就是个悲伤的话题,估计不少个人博客站长们都在苦苦的坚持和挣扎着吧,反正明月这两年感受最深刻的就是又有不少个人博客站点停更和 404 了都。自从坚持写博客这近十来年这种情况也都见怪不怪了,但这两年最突出的就是很多站长都是迷茫和悲观。 明月去年在…...

宁波市建设工程检测协会网站/网络推广渠道和方法

在华为开发者大会2020&#xff0c;发布了鸿蒙操作系统HarmonyOS 2.0版本&#xff0c;相比去年发布的HarmonyOS 1.0版本&#xff0c;有了质的提升。HarmonyOS 2.0打破硬件边界&#xff0c;融入全场景智能生态。打造好底座&#xff0c;才能让鸿蒙操作系统走的更远。HarmonyOS 2.0…...

网站如何测试有无未做链接的文件/2024新闻热点事件

回声状态网络ESN(原理) 结构特点 网络有3层&#xff1a;输入层 - 隐含层 - 输出层...

珠海市建设工程质量监督检测站网站/亚马逊站外推广网站

今天学习了内部类的知识&#xff0c;知道内部类是可以持有外部类的this&#xff0c;从而在内部类中可以使用OuterClass.this.medthod()来引用相应外部类方法。但是我写出下代码&#xff0c;可以运行&#xff0c;然而其中的调用逻辑我不是很明白&#xff0c;望赐教&#xff01;p…...

做网站和游戏是如何赚钱/百度排名服务

实现了一个简单的char二维数组函数&#xff0c;传入二维数组&#xff0c;打印二维数组的内容。 #include <cstdio>#define VEINKAPI __callback #define IN typedef int YNHANDLE;VEINKAPI void PrepareList(IN int fingercount, IN char **fingerlist, IN char** nameli…...

总部在北京的互联网企业/优化网站排名

很多时候我们都会在Python编程中用print 输出来调试代码&#xff0c;但是我今天想要告诉你的是这种方法过时了&#xff0c;现在大家都在用PySnooper&#xff0c;你可知道? 4 月 23 日&#xff0c;GitHub 每日趋势榜第一位是一个 Python 相关项目&#xff1a;PySnooper。 该项目…...

互联网网站 权限/上海最专业的seo公司

百度 紫光 大疆 爱奇艺 科大讯飞 cvte 蔚来 大华 乐鑫 联发科 20道选择&#xff0c;3道编程 注&#xff1a;以下为个人认为笔试中较难的题目和涉及的知识点 (1)KMP算法&#xff0c;哈夫曼编码&#xff1f; (2)sed指令 (3)二叉排序树 (4)双亲表示法 (5)平均有效内存访问时间…...