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

局域网访问 Redis 方法

局域网访问 Redis 方法

默认情况下,Redis 只允许本机 (127.0.0.1) 访问。如果你想让局域网中的其他设备访问 Redis,需要 修改 Redis 配置,并确保 防火墙放行端口


方法 1:修改 Redis 配置

1. 修改 redis.conf(或 memurai.conf

  • Windows

    • Redis 旧版(Windows 3.2) 配置文件路径:
      C:\Program Files\Redis\redis.windows.conf

    • Memurai(Redis 替代方案) 配置文件路径:
      C:\Program Files\Memurai\memurai.conf

  • Linux/WSL 配置文件路径:

    /etc/redis/redis.conf
    

🔧 编辑 redis.conf(或 memurai.conf),找到 bind 127.0.0.1,修改为

bind 0.0.0.0

这允许 Redis 监听所有 IP 地址。

🔧 找到 protected-mode yes,改为

protected-mode no

(否则 Redis 仍会阻止远程访问)

🔧 找到 requirepass yourpassword(如果有),设置访问密码

requirepass your_secure_password

建议设置密码,防止未授权访问)


2. 允许远程访问

Linux / WSL 启动 Redis

redis-server /etc/redis/redis.conf

Windows 启动 Redis

redis-server.exe redis.windows.conf

方法 2:放行防火墙

默认 Redis 监听 6379 端口,需要放行此端口。

Windows 放行 6379 端口

  1. 打开 cmd(管理员权限)

  2. 运行

    netsh advfirewall firewall add rule name="Allow Redis" dir=in action=allow protocol=TCP localport=6379
    

Linux 放行 6379 端口

如果使用 iptables

sudo iptables -A INPUT -p tcp --dport 6379 -j ACCEPT

如果使用 ufw(Ubuntu 推荐):

sudo ufw allow 6379/tcp

方法 3:局域网其他设备访问

在局域网中的其他设备上(例如另一台 Windows / Linux 电脑),使用 Redis CLI编程方式 连接 Redis。

1. 使用 Redis CLI

假设 Redis 服务器 IP192.168.1.100,在客户端设备上运行:

redis-cli -h 192.168.1.100 -p 6379 -a your_secure_password

如果成功连接,测试:

PING

返回:

PONG

2. 使用 C# 代码连接 Redis

安装 StackExchange.Redis(C# Redis 客户端):

dotnet add package StackExchange.Redis

然后在 C# 代码中:

using StackExchange.Redis;
using System;

class Program
{
    static void Main()
    {
        var redis = ConnectionMultiplexer.Connect("192.168.1.100:6379,password=your_secure_password");
        var db = redis.GetDatabase();
        db.StringSet("hello", "world");
        Console.WriteLine(db.StringGet("hello")); // 输出 "world"
    }
}

方法 4:使用 Docker 运行 Redis(局域网可访问)

如果你在 Docker 中运行 Redis,需要 映射端口 并允许外部访问:

docker run -d --name redis-server -p 6379:6379 redis --bind 0.0.0.0 --protected-mode no

然后在局域网客户端连接:

redis-cli -h 192.168.1.100 -p 6379

总结

方法操作
修改 redis.confbind 0.0.0.0protected-mode no,设置密码
放行防火墙netsh advfirewall(Windows),ufwiptables(Linux)
客户端连接redis-cli -h 192.168.1.100 -p 6379 -a yourpassword
C# 代码StackExchange.Redis.ConnectionMultiplexer

推荐

  • 如果 Windows 上使用 Redis(Memurai),修改 memurai.conf 并放行端口即可。

  • 如果 使用 WSL/Ubuntu,修改 /etc/redis/redis.conf 并放行端口。

  • 确保设置密码,否则任何人都能访问你的 Redis 数据!

相关文章:

  • 济宁个人网站建设价格便宜b站视频推广网站400
  • 马鞍山网站建设 明达优化网站收费标准
  • 有专门做特产的网站吗免费建网页
  • 外国优秀设计网站长沙竞价优化
  • 佘山做网站公司seo网站优化流程
  • 无法创建网站 未能找到web服务器手机版怎么用百度快照
  • springmvc:tomcat启动无报错但接口404问题排查
  • 国标GB28181视频平台EasyCVR顺应智慧农业自动化趋势,打造大棚实时视频监控防线
  • 2025上海CMEF:鱼跃以“AI+医疗”开启健康管理新纪元
  • java基础 流(Stream)
  • 按键++,--在操作uint8_t类型(一个取值为1~10的数)中,在LCD中显示两位数字问题
  • Vue知识点(5)-- 动画
  • 大脑功能与结构的解耦揭示了人类大脑的区域行为专门化
  • 实习技能记录【2】-----LVGL[基本概念]
  • opencv无法设置禁用RGB转换问题
  • centos练习docker<基础>
  • 蓝桥杯第十一届省赛C++B组真题解析
  • 特权FPGA之UART串口
  • ⭐算法OJ⭐数据流的中位数【最小堆】Find Median from Data Stream
  • leetcode0287. 寻找重复数-medium
  • 各种排序思路及实现
  • CentOS8.5 安装 LLaMA-Factory
  • 什么是强缓存和协商缓存?它们的工作原理是什么?
  • 软件工程面试题(三十七)
  • 2025年3月GESP C++四级等级考试真题——二阶矩阵
  • VBA将Word文档内容逐行写入Excel