博客
关于我
Redis 配置文件杂项。
阅读量:802 次
发布时间: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调用git bash_Python学习第70课-用Git Bash在命令行打开sublime
    查看>>
    python | jsonschema,一个实用的 验证 JSON 数据结构 Python 库!
    查看>>
    python课程的中期报告范文_课题研究中期总结报告范文
    查看>>
    python | lxml,一个超酷的 关于XML/HTML 文档 Python 库!
    查看>>
    python | mplfinance,一个有趣的金融数据可视化 Python 库!
    查看>>
    python | nipy,一个强大的关于 神经影像数据分析 的Python 库!
    查看>>
    python | NLTK,一个强大的 自然语言处理 Python 库!
    查看>>
    python | nupic,一个强大的 处理时间序列的Python 库!
    查看>>
    python | orange3,一个神奇的 Python 库!
    查看>>
    python | pdfminer,一个神奇的 关于PDF 文件的 Python 库!
    查看>>
    python | pendulum,一个有趣的 日期和时间 Python 库!
    查看>>
    python | pluginbase,一个神奇的 关于插件框架 的Python 库!
    查看>>
    python | ply,一个无敌的 词法和语法分析工具 的Python 库!
    查看>>
    python | py2exe,一个超酷的 Python 库!
    查看>>
    python | pyautogui,一个超酷的 Python 库!
    查看>>
    python | pybaobabdt,一个超强的 决策树可视化 Python 库!
    查看>>
    python | pycco,一个神奇的 Python 库!
    查看>>
    python | pyg2plot,一个有趣的 数据可视化 Python 库!
    查看>>
    python | pymc,一个超强的 Python 库!
    查看>>
    python | pynsist,一个强大的 Python 库!
    查看>>