Redis怎么搞本机之间的访问,简单点说就是redis本地连本地那种操作
- 问答
- 2026-01-12 20:55:51
- 3
主要参考了Redis官方文档(redis.io)中关于配置和网络绑定的部分,以及《Redis实战》一书中关于本地开发和基础配置的讲解。
好的,直接来说怎么让Redis在本机自己连自己,这个需求最常见的就是你在自己电脑上开发或者测试,需要启动一个Redis服务,然后你的程序(比如一个网站后台、一个脚本)也在同一台电脑上运行,去连接这个Redis。
第一步:把Redis服务端跑起来
你总得把Redis服务器程序启动起来,它才能接受连接,如果你是用操作系统的包管理工具安装的(比如在Ubuntu上用apt-get install redis-server,或者在macOS上用brew install redis),通常安装完后它会自动启动,并且已经设置好了可以直接本地连接,你可以通过命令行输入 redis-cli ping 试试,如果它回复一个 PONG,那就说明服务已经在运行,并且redis-cli这个客户端已经成功连上了。
如果它没有自动启动,或者你是通过别的方式安装的,你需要手动启动服务器,最直接的方式就是打开一个命令行窗口,然后输入命令 redis-server,看到屏幕上出现一个Redis的LOGO,还有一些启动日志,没有报错,就说明服务端已经在本机某个端口(默认是6379)上监听了。
第二步:理解“本地连接”的关键——网络地址
你的电脑虽然只有一台,但网络上有不同的“地址”来表示自己,最主要的有两个:
- 0.0.1:这个地址叫“回环地址”,它永远指向你当前这台电脑本身,就像你叫自己的小名一样,是内部称呼。
- localhost:这其实就是“127.0.0.1”的一个别名,在电脑的 hosts 文件里通常就写着
0.0.1 localhost,所以你输入localhost和输入0.0.1效果基本一样。 - 你电脑的真实IP地址,
168.1.100(这个地址是用来和其他电脑通信的)。
要让本机的程序能连上本机的Redis,最关键的一点是:Redis服务端必须被配置成允许接受来自本机这些地址的连接。
第三步:检查Redis的配置文件(关键步骤)
Redis的行为是由一个叫 redis.conf 的配置文件控制的,这个文件的位置因安装方式而异,可能在 /etc/redis/、/usr/local/etc/ 或者你解压Redis源码的目录下。
用文本编辑器打开这个文件,找到两个非常重要的设置项:

-
bind指令: 这个指令决定了Redis服务端监听哪些网络接口(你可以理解为监听哪个“门”),默认的配置通常是:bind 127.0.0.1 -::10.0.1表示只监听IPv4的回环地址。-::1表示只监听IPv6的回环地址(相当于IPv6的localhost)。 这个配置的意思是:Redis只接受从本机内部发起的连接,你的程序用0.0.1或localhost去连,是完全没问题的,这是最安全、最常见的本地开发配置。
有时候你可能会看到配置成
bind 0.0.0.0,这表示Redis监听你电脑上所有的网络接口,包括回环地址和你对外的真实IP地址,这意味着不仅本机程序能连,同一网络下的其他电脑也可能能连上来(如果防火墙没拦住的话)。在本地开发环境下,一般不建议这么设,除非你确实需要从别的机器访问。 -
protected-mode指令: 这是Redis的一个安全保护模式,当它被设置为yes(默认就是yes)时,如果Redis没有设置密码(requirepass),并且bind指令没有明确指定只绑定到回环地址(即配置成了bind 0.0.0.0这类),那么Redis将只接受来自IPv4和IPv6回环地址(127.0.0.1 和 ::1)的连接,这个机制是为了防止在没设密码的情况下,不小心把Redis暴露在公网上导致被攻击。 对于我们单纯的本地连接(bind 127.0.0.1),这个保护模式无论开不开,连接都是正常的。
第四步:使用客户端进行连接
服务端配置好并启动后,你就可以用客户端去连接了。
-
命令行客户端(redis-cli): 这是Redis自带的工具,直接在终端输入
redis-cli回车,因为它默认就是连接0.0.1:6379,所以会直接连上本机的Redis服务器,之后你就可以输入Redis命令了,set mykey "hello",get mykey等。
-
在你的程序代码中连接: 无论你用Python、Java、Node.js还是PHP,连接方式都类似,你只需要在连接配置里指定主机(host)为
0.0.1或localhost,端口(port)为6379(除非你改过),密码(password)如果没设,就不用填。- 例如在Python的
redis库中:import redis r = redis.Redis(host='localhost', port=6379, db=0) r.set('foo', 'bar') value = r.get('foo') print(value) # 输出 b'bar'
- 例如在Python的
可能遇到的问题及解决
-
连接被拒绝(Connection refused): 最常见的原因是Redis服务端根本没启动,回去第一步,确保
redis-server进程在运行。 -
绑定的地址不对: 如果你修改过
bind配置,把它设成了一个你电脑没有的IP地址,那么本地连接也会失败,确保bind配置里包含了0.0.1。 -
防火墙阻拦: 虽然极少发生在纯本机通信上,但有时系统防火墙可能会阻拦6379端口的通信,可以暂时关闭防火墙试试,或者添加规则允许6379端口的连接。
总结一下最直接的操作:
- 安装Redis。
- 直接运行
redis-server启动服务(通常默认配置就能用)。 - 另开一个命令行窗口,运行
redis-cli,就能连上开始操作了。 - 在你的代码里,把Redis客户端的主机地址设为
0.0.1或localhost。
这样就是最简单的Redis本机连本机的操作了,整个过程的核心就是确保服务端监听者本机的回环地址,然后客户端也向这个地址发起连接。
本文由颜泰平于2026-01-12发表在笙亿网络策划,如有疑问,请联系我们。
本文链接:http://waw.haoid.cn/wenda/79528.html
