博客
关于我
Redis 配置文件杂项。
阅读量:801 次
发布时间:2023-03-06

本文共 1833 字,大约阅读时间需要 6 分钟。

Redis配置详解

Redis是一个强大而灵活的开源数据库,它的配置选项丰富,能够根据具体需求进行优化。本文将详细介绍Redis的关键配置选项及其作用。

protected-mode 保护模式

Redis 3.2版本后新增了protected-mode配置选项,默认值为yes,即开启保护模式。该模式的作用是限制外部网络对Redis服务的访问,增强安全性。

关闭保护模式

如果需要外部网络能够直接访问Redis服务,可以通过以下方式关闭保护模式:

protected-mode no

此时,Redis服务器将绑定所有接口,允许来自任何IP地址的连接。

开启保护模式

如果保留保护模式,可以通过以下方式配置:

  • 绑定特定IP地址

    protected-mode yes
    bind 192.168.1.1

    这样可以限制外部访问,只允许特定IP地址的客户端连接。

  • 设置访问密码

    protected-mode yes
    requirepass yourpassword

    通过设置访问密码,可以额外增强安全性。

  • tcp-backlog 全连接队列大小

    在TCP协议中,服务器接收到SYN包后,将请求信息存储在半连接队列中,并返回SYN-ACK响应。客户端收到ACK后,服务器将从半连接队列中将请求信息移到全连接队列中。

    全连接队列大小

    全连接队列的大小受以下因素影响:

  • 系统配置文件中的/proc/sys/net/ipv4/tcp_abort_on_overflow值:

    • 0:表示丢弃ACK包,不会重传。
    • 1:表示发送RST包,复位连接。
  • somaxconnlisten函数中的backlog值,取最小值决定全连接队列大小。

  • 半连接队列

    半连接队列的大小由/etc/sysctl.conf中的tcp_max_syn_backlog配置,默认值为1024。

    tcp-keepalive 存活特征

    TCP协议的存活特征用于检测连接是否活跃。以下是存活特征的工作原理:

    存活探测

    服务器会在75秒后发送10个探测包,检测客户端是否崩溃或断开:

  • 如果客户端未响应,服务器将认为客户端主机已关闭并终止连接。
  • 如果客户端重新连接,服务器会收到探测响应,但由于探测包是单向的,服务器无法检测客户端是否崩溃。
  • 应用场景

    存活特征通常用于服务器端设置,用于检测客户端是否崩溃。例如, NFS服务可以在两端同时设置存活特征,以确保数据传输的稳定性。

    daemonize 守护进程模式

    Redis支持守护进程模式(daemonize),默认值为yes。以下是守护进程模式的作用:

    启用守护进程

    daemonize yes时,Redis将运行在后台,进程PID会写入pidfile配置文件中。 Redis进程将一直运行,除非手动终止。

    禁用守护进程

    daemonize no时,Redis将进入命令行界面。用户可以通过退出终端或工具(如Putty、XShell)关闭Redis进程。

    pidfile PID文件

    当Redis以守护进程运行时,它会将进程PID写入指定的PID文件,默认路径为/var/redis/run/redis_6379.pid

    supervise 监控服务

    supervise选项用于监控指定服务进程。当服务进程消亡时,supervise会自动重新启动该进程。这种方式常用于保证服务的稳定性。

    requirepass 密码验证

    Redis支持密码验证,确保只有具备权限的用户才能访问数据库。通过requirepass配置可以设置访问密码:

    requirepass yourpassword

    默认值为no,表示无需密码验证。

    maxmemory-policy 内存管理

    Redis支持多种内存清理策略,以管理内存使用。当内存使用达到最大值时,可以选择以下策略:

    可选策略

  • volatile-lru:移除设置过期时间的key,使用LRU算法。
  • allkeys-lru:移除所有key。
  • volatile-random:随机移除设置过期时间的key。
  • allkeys-random:随机移除所有key。
  • volatile-ttl:移除即将过期的key。
  • noeviction:不移除任何key,返回写错误(默认选项)。
  • 选择合适的内存清理策略,根据具体需求优化Redis性能。


    以上是Redis的主要配置选项及作用说明。通过合理配置,可以根据具体场景优化Redis性能和安全性。

    转载地址:http://wgafk.baihongyu.com/

    你可能感兴趣的文章
    python logging basicconfig_python之logging.basicConfig
    查看>>
    python mac地址_python中MAC地址打包问题
    查看>>
    python manage.py syncdb Unknown command: 'syncdb'问题解决方法
    查看>>
    Python map() 函数 和 numpy mean()函数
    查看>>
    Python Matplotlib Box并排绘制两个数据集
    查看>>
    Python matplotlib 中更换画布背景颜色
    查看>>
    python matplotlib简单使用
    查看>>
    Python mock Patch os.environ 和返回值
    查看>>
    Python mock 修补另一个函数调用的函数
    查看>>
    python mqtt 客户端实现
    查看>>
    Python Multiprocessing - 将类方法应用于对象列表
    查看>>
    Python multiprocessing.Queue 与 multiprocessing.manager().Queue()
    查看>>
    python mysql 基于 sqlalvhrmy_Python操作MySQL:pymysql和SQLAlchemy
    查看>>
    Python NLP完整项目实战教程(1)
    查看>>
    Python NLP自然语言处理详解
    查看>>
    python nltk nltk_data 离线安装,chatterbot
    查看>>
    python numba 转灰度图_使用NumPy、Numba的简单使用(二)
    查看>>
    Python Numpy 关于 linspace()函数 使用详解(全)
    查看>>
    Python numpy数据的保存和读取
    查看>>
    python numpy矩阵索引_python – 在2D numpy ndarray或numpy矩阵中获取前N个值的索引
    查看>>