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

 更新时间:2025年02月28日 10:17:20   作者:行思理  
文章详细介绍了Redis的配置文件位置、如何编辑配置文件以实现远程访问,以及验证和监控Redis配置的方法,感兴趣的朋友一起看看吧

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

find / -name 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的操作路径的影响)----Redis关闭之后会在启动的目录生成备份文件

7、数据库数量

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

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

maxmemory 512mb

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

9、日志文件

logfile "redis.log"

说明:
 日志文件,值默认为空(logfile ""),不记录日志,可以指定日志文件名(logfile "redis.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

演示

11、验证启动是否成功

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

演示效果如下

12、杀死进程,启动redis

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

演示效果如下:

 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

 演示效果如下

 选择数据库

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

演示如下:

显示所有的键值

KEYS *

演示如下

其它就是redis的操作命令了

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

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 实例使用的内存较大,可以考虑优化 Redis 配置,例如:设置最大内存限制(maxmemory)。

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

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

相关文章

  • redis执行redis命令的方法教程

    redis执行redis命令的方法教程

    这篇文章主要给大家介绍了在redis中执行redis命令的方法教程,文中详细介绍了关于Redis 命令及在远程服务上执行命令的方法,介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-06-06
  • redis实现分布式延时队列的示例代码

    redis实现分布式延时队列的示例代码

    延时队列是一种特殊的消息队列,它允许将消息在一定的延迟时间后再进行消费,延时队列的实现方式可以有多种,本文主要来介绍一种redis实现的分布式延时队列,希望对大家有所帮助
    2023-10-10
  • redis分布式锁与zk分布式锁的对比分析

    redis分布式锁与zk分布式锁的对比分析

    这篇文章主要介绍了redis分布式锁与zk分布式锁的对比分析,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-11-11
  • redis键空间通知使用实现

    redis键空间通知使用实现

    这篇文章主要介绍了redis键空间通知使用实现
    2021-08-08
  • Redis解决缓存雪崩、穿透和击穿的问题(Redis使用必看)

    Redis解决缓存雪崩、穿透和击穿的问题(Redis使用必看)

    这篇文章主要给大家介绍了Redis解决缓存雪崩、缓存穿透、缓存击穿的解决方案,文中有详细的图文介绍,具有一定的参考价值,需要的朋友可以参考下
    2023-08-08
  • Redis集群利用Redisson实现分布式锁方式

    Redis集群利用Redisson实现分布式锁方式

    这篇文章主要介绍了Redis集群利用Redisson实现分布式锁方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05
  • Redis内存满了的几种原因和最佳解决方案

    Redis内存满了的几种原因和最佳解决方案

    Redis是一款高性能的内存数据库,被广泛应用于缓存、消息队列、计数器等场景,然而,由于Redis是基于内存的数据库,当数据量过大或者配置不合理时,就有可能导致Redis的内存满,本文将介绍Redis内存满的几种原因,并提供相应的解决方案,需要的朋友可以参考下
    2023-11-11
  • 图解Redis主从复制与Redis哨兵机制

    图解Redis主从复制与Redis哨兵机制

    这篇文章主要介绍了图解Redis主从复制与Redis哨兵机制,今天分享一下Redis的持久化、事务、管道相关的知识点,需要的朋友可以参考下
    2023-03-03
  • 从源码解读redis持久化

    从源码解读redis持久化

    redis的持久化也就是数据落地,对于任何一个数据系统都要考虑是不是需要数据落地。在系统崩溃或是机房掉电等的情况下,将有用的数据记录在非易失性存储器上面,防止数据丢失,以及用来系统重启时的数据恢复。
    2018-08-08
  • 基于Redis有序集合实现滑动窗口限流的步骤

    基于Redis有序集合实现滑动窗口限流的步骤

    滑动窗口算法是一种基于时间窗口的限流算法,通过动态地滑动窗口,可以动态调整限流的速率,Redis有序集合可以用来实现滑动窗口限流,本文介绍基于Redis有序集合实现滑动窗口限流,感兴趣的朋友一起看看吧
    2024-12-12

最新评论