如何在 MacBook 上安装 Redis和持久化方案

Redis 是一个开源的内存数据结构存储,广泛应用于缓存、会话管理、实时分析等场景。本文将介绍如何在 MacBook 上安装 Redis,并深入探讨其持久化方案的配置,以确保数据的持久性和系统的可靠性。

一、在 MacBook 上安装 Redis

1. 使用 Homebrew 安装 Redis

Homebrew 是 macOS 上的包管理工具,通过它可以方便地安装 Redis。

  1. 确保 Homebrew 已安装
    如果还没有安装 Homebrew,可以通过终端执行以下命令来安装:

    /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
    
  2. 更新 Homebrew
    在终端中运行以下命令以确保 Homebrew 是最新版本:

      git -C "$(brew --repo)" remote set-url origin https://mirrors.ustc.edu.cn/brew.git  #更换Homebrew核心源(提示速度,可忽略)
      export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles #更换Homebrew瓶子源(提示速度,可忽略)
      brew update
    
  3. 安装 Redis
    使用 Homebrew 安装 Redis:

    brew install redis
    
  4. 启动 Redis 服务
    安装完成后,可以启动 Redis 服务:

    brew services start redis
    
  5. 验证安装
    通过检查 Redis 版本来验证安装是否成功:

    redis-server --version
    
2. 手动安装 Redis

如果不想使用 Homebrew,也可以通过下载源代码并编译的方式来安装 Redis:

  1. 下载 Redis 源代码
    从 Redis 官方网站或 GitHub 仓库下载最新版本的 Redis 源代码:

    curl -O http://download.redis.io/redis-stable.tar.gz
    
  2. 解压缩文件
    解压下载的 tar.gz 文件:

    tar xzvf redis-stable.tar.gz
    
  3. 编译 Redis
    进入解压后的目录并编译 Redis:

    cd redis-stable
    make
    
  4. 运行 Redis
    编译完成后,可以启动 Redis 服务器:

    src/redis-server
    
  5. 验证安装
    打开另一个终端窗口,启动 Redis 客户端并连接到 Redis 服务器:

    src/redis-cli
    

二、配置 Redis 的持久化方案

Redis 提供了两种主要的持久化方案:RDB(Redis Database Backup)和 AOF(Append Only File)。可以根据需要选择单独使用一种方案,或者混合使用两种方案以实现数据的双重保障。
Redis默认开启了RDB持久化,见默认配置(Unless specified otherwise, by default Redis will save the DB:除非另有指定,否则Redis默认会保存数据库):,Redis在处理每个客户端请求时都会检查持久化条件,符合条件触发持久化,在停止或者重启服务的时候也会持久化,刷新dump.rdb文件

################################ SNAPSHOTTING  ################################

# Save the DB to disk.
# 
# save <seconds> <changes> [<seconds> <changes> ...]
# 
# Redis will save the DB if the given number of seconds elapsed and it
# surpassed the given number of write operations against the DB.
# 
# Snapshotting can be completely disabled with a single empty string argument
# as in following example:
# 
# save ""
# 
# Unless specified otherwise, by default Redis will save the DB:
#   * After 3600 seconds (an hour) if at least 1 change was performed
#   * After 300 seconds (5 minutes) if at least 100 changes were performed
#   * After 60 seconds if at least 10000 changes were performed
# 
# You can set these explicitly by uncommenting the following line.   
# 
# save 3600 1 300 100 60 10000

Topic and Partition
1. RDB 持久化

RDB 持久化通过创建数据的快照,将 Redis 数据在特定时间点保存到磁盘。以下是配置 RDB 的步骤:

  1. 编辑 Redis 配置文件
    打开 Redis 的配置文件 redis.conf,如果使用 Homebrew 安装,通常位于 /opt/homebrew/etc/redis.conf

    sudo nano /opt/homebrew/etc/redis.conf
    
  2. 配置快照保存规则
    在配置文件中找到并修改以下部分:

    # 配置快照保存规则
    save 900 1   # 900秒内如果至少有1个key发生变化,则进行快照
    save 300 10  # 300秒内如果至少有10个key发生变化,则进行快照
    save 60 10000 # 60秒内如果至少有10000个key发生变化,则进行快照
    
    # 配置RDB文件名
    dbfilename dump.rdb
    
    # 配置RDB文件存放目录
    dir /usr/local/var/db/redis/
    
  3. 保存并退出
    保存配置文件并退出编辑器。

  4. 重启 Redis 服务
    重启 Redis 服务使配置生效:

    brew services restart redis
    
2. AOF 持久化

AOF 持久化通过记录每次写操作命令,以追加的方式写入日志文件,实现数据持久化。以下是配置 AOF 的步骤:

  1. 编辑 Redis 配置文件
    打开 redis.conf 文件:

    sudo nano /usr/local/etc/redis.conf
    
  2. 启用 AOF 持久化
    在配置文件中找到并修改以下部分:

    # 启用AOF持久化
    appendonly yes
    
    # 配置AOF文件名
    appendfilename "appendonly.aof"
    
    # 配置AOF同步策略
    appendfsync everysec # 每秒同步一次,折中方案
    # appendfsync always  # 每次写操作都同步到AOF文件,最安全但性能较差
    # appendfsync no      # 不同步,由操作系统决定何时同步,性能最好但最不安全
    
  3. 保存并退出
    保存配置文件并退出编辑器。

  4. 重启 Redis 服务
    重启 Redis 服务使配置生效:

    brew services restart redis
    
3. 混合使用 RDB 和 AOF

在实际生产环境中,混合使用 RDB 和 AOF 是一种常见的做法,既可以利用 RDB 的性能优势,又能借助 AOF 记录精确的操作。可以在 Redis 启动时先加载 RDB 文件,然后再重放 AOF 日志,从而实现快速恢复和精确恢复。

三、持久化方案的选择

在选择持久化方案时,需要根据具体应用的需求和数据丢失的容忍度进行权衡:

  1. RDB 持久化:适用于需要快速重启并恢复大部分数据的应用,可以容忍一定的数据丢失。
  2. AOF 持久化:适用于需要高数据完整性和可靠性的应用,不能接受数据丢失。
  3. 混合使用:适用于需要在性能和数据完整性之间找到平衡的应用。

四、总结

通过上述步骤,可以在 MacBook 上成功安装 Redis,并配置适合的持久化方案。根据具体需求选择合适的持久化方式,以确保系统的稳定性和数据的可靠性。同时,定期检查和优化 Redis 配置,确保其在生产环境中的高效运行。

Redis 的灵活性和高性能使其成为现代应用中的重要组成部分,理解和正确配置其持久化机制是确保数据安全和系统可靠运行的关键。

posted on 2024-06-27 15:35  滚动的蛋  阅读(2195)  评论(0编辑  收藏  举报

导航