开发者

配置redis.conf远程访问的操作

开发者 https://www.devze.com 2025-04-02 10:44 出处:网络 作者: 行思理
Redis的配置文件位置一般在哪里,可以通过如下命令查询 find / -name redis.conf 演示效果如下

Redis的配置文件位置一般在哪里,可以通过如下命令查询

find / -name redis.conf

演示效果如下

配置redis.conf远程访问的操作

编辑配置文件,通过如下命令操作

vi /usr/local/redis/etc/redis.conf

1、找到bind,修改如下值

bind 0.0.0.0 #支持远程访问-必须要指定 requirepass 选项,否则连接不上;如果不想指定密码,可以关闭保护模式:指定 protected-mode no
bind 127.0.0.1 111.111.111.111 #指定具体的多IP

2、设置访问IP

requirepass 123456

3、保持模式设置

protected-mode no #关闭保护模式,可以不用设置requirepass
protected-mode yes #开启保护模式,必须要指定 requirepass

4、监听端口设置

port 6379

5、守护进程设置

daemonize no#守护进程,后台运行
daemonize yes#守护进程,非后台运行

6、工作目录

dir

说明:工作目录,默认是当前目录,日志.持久化等文件会保存在这个目录(指定生成rdb文件的路径,相对路径会受到启动redis的操作路径的影响)----Redihttp://www.devze.coms关闭之后会在启动的目录生成备份文件

7、数据库数量

databases 16 #数据库数android量,设置为1,代表只使用1个库,默认有16个库,编号0~15

8、设置redis能够使用的最大内存

maxmemory 512mb

说明:设置redis能够使用的最大内存,可用内存默认没有设置最大值--没有持久化到磁盘之前在内存中最大存储的数据

9、日志文件

logfile "redis.log"

说明:

 日志文件,值默认为空(logfile ""),不记录日志,可以指定日志文件名(logfile "redjsis.log")

如果指定的是日志文件的绝对路径(logfile "/usr/local/redis-7.0.11/redis.log"),那么输出位置就是指定的路径,如果是相对路径(logfile "redis.log"),那么输出位置是dir .的路径,如果logfile有值,那么控制台没有日志,如果logfile为空,则在控制台输出日志----会在Redis启动的目录生成日志文件

10、启动redis

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

演示

配置redis.conf远程访问的操作

11、验证启动是否成功

ps -ef | grep redis
ps aux | grep redis
sudo netstat -tuln | grep 6379

演示效果如下

配置redis.conf远程访问的操作

12、杀死进程,启动redis

sudo kill -9 <PID> #命令格式
sudo kill -9 44379 #具体操作
#或者先运行
redis-cli 
再执行        
shutdown

演示效果如下:

配置redis.conf远程访问的操作

 13、进入redis客户端

redis-cli -h 127.0.0.1 -p 6379 -a 123456
# 或者
redis-cli
输入密码:auth 123456
#或者
redis-cli -h 127.0.0.1 -p 6379
#具体操作
./redis-cli -h 127.0.0.1 -p 6379

 演示效果如下

配置redis.conf远程访问的操作

 选择数据库

select  3 #数据库序号,从0开始

演示如下:

配置redis.conf远程访问的操作

显示所有的键值

KEYS *

演示如下

配置redis.conf远程访问的操作

其它就是redis的操作命令了

14、选择数据库时,若提示如下

配置redis.conf远程访问的操作

26189:C 27 Feb 2025 00:20:27.247 # WARNING Memory overcommit must be enabled! Without it, a background save or replication may fail under low memory condition. Being disabled, it can also cause failures without low memory condition, see https://github.com/jemalloc/jemalloc/issues/1328. To fix this issue add 'vm.overcommit_memory = 1' to /etc/sysctl.conf and then reboot or run the command 'sysctl vm.overcommit_memory=1' for this to take effect.

说明:这个警告信息表明 Redis 检测到系统的 内存过度分配(Memory Overcommit) 设置未启用

方法 1:临时启用内存过度分配

sudo sysctl vm.overcommit_memory=1

方法 2:永久启用内存过度分配

编辑 /etc/sysctl.conf 文件:

sudo vi /etc/sysctl.conf

添加以下内容:

vm.overcommit_memory = 编程1

使配置生效:

sudo sysctl -p

验证生效,重启电脑后,执行如下命令

sysctl vm.overcommit_memory

如果输出 vm.overcommit_memory = 1,说明设置已生效。

 为什么 Redis 需要内存过度分配?

Redis 在以下场景中依赖内存过度分配:

  • 后台保存(BGSAVE):Redis 会 fork 一个子进程来生成 RDB 快照文件。如果内存过度分配未启用,fork 操作可能会失败。
  • 复制(Replication):从节点在同步数据时,也会 fork 子进程。

启用内存过度分配可以避免这些操作因内存不足而失败。

其它注意事项

内存使用监控:启用内存过度分配后,系统可能会分配比实际物理内存更多的内存。建议监控系统的内存使用情况,避免内存耗尽导致系统不稳定。

Redis 配置优化:如果 Redis www.devze.com实例使用的内存较大,可以考虑优化 Redis 配置,例如:设置最大内存限制(maxmemory)。

启用内存淘汰策略(maxmemory-policy)。

到此这篇关于如何配置redis.conf才能远程访问的文章就介绍到这了,更多相关redis.conf远程访问内容请搜索编程客栈(www.devze.com)以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程客栈(www.devze.com)!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号