カテゴリ: データベース 更新日: 2026/03/27

Redisのバックアップ方法を徹底解説!初心者でも安心なデータベース運用と設定の基本

Redisのバックアップ方法とは?安全な運用の基本
Redisのバックアップ方法とは?安全な運用の基本

先生と生徒の会話形式で理解しよう

生徒

「Redis(レディス)というデータベースを使っているのですが、もしパソコンが壊れたらデータが消えてしまうのが怖いです。バックアップってどうすればいいんですか?」

先生

「大切なデータが消えるのは困りますよね。Redisには、データを守るための『バックアップ』という予備の保存方法がいくつか用意されていますよ。」

生徒

「難しいプログラミングとかが必要なんでしょうか?パソコンに詳しくない私でも設定できますか?」

先生

「大丈夫です。Redisの設定ファイルという『指示書』を少し書き換えるだけで、自動的に保存してくれるようになります。まずは基本から一緒に見ていきましょう。」

1. Redisのバックアップとは?なぜ必要なのか

1. Redisのバックアップとは?なぜ必要なのか
1. Redisのバックアップとは?なぜ必要なのか

Redis(レディス)は、非常に高速に動作するデータベースですが、大きな特徴として「普段はパソコンのメモリ(作業机のような場所)でデータを管理している」という点があります。メモリは作業が速い反面、パソコンの電源が切れると中身が消えてしまうという弱点があります。

そこで必要になるのがバックアップです。バックアップとは、メモリにあるデータをハードディスクやSSD(本棚のような保管場所)にコピーして保存しておく作業のことです。これをしっかり設定しておくことで、万が一パソコンが突然止まっても、データを元通りに復活させることができます。これを専門用語で「永続化(えいぞくか)」と呼びます。

エンジニアの必須スキル「SQL」を、 図解と豊富な練習問題でゼロから体系的に学びたい人へ。 MySQLやPostgreSQLなど、各種データベースに対応した不朽の入門書です。

SQL 第2版 ゼロからはじめるデータベース操作をAmazonで見る

※ Amazon広告リンク

2. バックアップの2つの方法「RDB」と「AOF」

2. バックアップの2つの方法「RDB」と「AOF」
2. バックアップの2つの方法「RDB」と「AOF」

Redisには、主に2種類のバックアップ方法があります。初心者の方は、まずこの2つの違いを理解しましょう。

RDB(スナップショット)

「ある瞬間の写真」を撮るように保存する方法です。1時間に1回など、決まった時間にまとめて保存します。ファイルが小さくて済むのがメリットです。

AOF(ログ保存)

「家計簿」のように、データに加えた変更をすべて記録していく方法です。少しずつ記録するので、最新の状態を保ちやすいですが、ファイルが大きくなりがちです。

3. RDB(スナップショット)の設定方法

3. RDB(スナップショット)の設定方法
3. RDB(スナップショット)の設定方法

まずは、最も一般的なRDB方式の設定を見てみましょう。Redisの設定ファイル(redis.conf)に、以下のような命令を書きます。これは「〇秒間に〇回以上の変更があったら保存してね」という指示になります。


-- これは設定のイメージです
save 900 1      -- 900秒(15分)の間に1回以上データが変わったら保存
save 300 10     -- 300秒(5分)の間に10回以上データが変わったら保存
save 60 10000   -- 60秒(1分)の間に10,000回以上データが変わったら保存

この設定をしておくと、Redisは自動的に「dump.rdb」という名前のファイルを作って保存してくれます。これがバックアップデータそのものになります。例えば、以下のようなユーザー名簿があったとします。


id | name     | score | status
---+----------+-------+----------
1  | 佐藤     | 100   | active
2  | 鈴木     | 250   | active
3  | 高橋     | 50    | pending
4  | 田中     | 180   | active

ここで、田中さんのスコアを更新する命令を出してみましょう。


SET user:4:score 200

実行後のデータはこのようになります。


id | name     | score | status
---+----------+-------+----------
1  | 佐藤     | 100   | active
2  | 鈴木     | 250   | active
3  | 高橋     | 50    | pending
4  | 田中     | 200   | active

この「200」に変わった瞬間の状態が、設定した時間が来るとファイルに保存される仕組みです。

4. AOFでより安全にデータを守る

4. AOFでより安全にデータを守る
4. AOFでより安全にデータを守る

RDBだけだと、次の保存時間が来る前にパソコンが壊れた場合、その間のデータが消えてしまいます。より安全に運用したい場合は、AOF(Append Only File)を有効にします。

AOFを有効にするには、設定ファイルの appendonly という項目を yes に書き換えるだけです。これにより、データに対するすべての操作が記録されるようになります。


-- AOF機能を有効にする設定
appendonly yes
appendfsync everysec -- 1秒ごとに書き込みを確定させる(バランスが良い設定)

例えば、新しくユーザーを追加してみます。


SET user:5:name "伊藤"
SET user:5:score 120

実行後の名簿は以下の通りです。


id | name     | score | status
---+----------+-------+----------
1  | 佐藤     | 100   | active
2  | 鈴木     | 250   | active
3  | 高橋     | 50    | pending
4  | 田中     | 200   | active
5  | 伊藤     | 120   | active

AOFはこの「追加した」という行動そのものをメモ帳に記録していくので、たとえ数秒前に書き込んだデータでも、復旧できる可能性が非常に高くなります。

5. トラブル対応:もしデータが消えたら?

5. トラブル対応:もしデータが消えたら?
5. トラブル対応:もしデータが消えたら?

バックアップ設定をしていたのに、トラブルが起きてデータが見えなくなった場合はどうすればよいでしょうか。主なトラブルの原因と対処法を知っておきましょう。

原因1:ファイルが壊れている
急な停電などで、書き込み途中のバックアップファイルが壊れてしまうことがあります。この場合、Redisが起動できなくなることがあります。
対処法:修復ツールを使う
Redisには「redis-check-aof」や「redis-check-rdb」という、ファイルを修理するための道具が付属しています。これを使うと、壊れた部分をカットして起動できるようにしてくれます。

6. 安全な運用のための基本ルール

6. 安全な運用のための基本ルール
6. 安全な運用のための基本ルール

最後に、初心者の方が今日から実践できる「安全運用のコツ」を3つお伝えします。

  • 外部にコピーを取る: パソコン自体の故障に備えて、バックアップファイルを別のUSBメモリやクラウドストレージ(インターネット上の保存所)にもコピーしておきましょう。
  • 定期的に確認する: 「バックアップが取れているつもり」が一番怖いです。月に一度は、本当にファイルが更新されているか日付を確認してください。
  • パスワードを設定する: 誰でもデータを消せてしまうと大変です。必ず requirepass という設定でパスワードをかけましょう。

このように、Redisのバックアップは「自動保存の設定」と「ファイルの外部保存」を組み合わせることで、非常に強固なものになります。最初は難しく感じるかもしれませんが、一度設定してしまえばあとはRedisが健気にデータを守り続けてくれます。大切なユーザーの情報を守るために、まずは設定ファイルを開くところから始めてみてくださいね。

カテゴリの一覧へ
新着記事
New1
Rails
Railsビューの安全性を完全ガイド!sanitize・raw・html_safeの正しい使い分け
New2
Ruby
Rubyの数値と演算子を完全ガイド!初心者でもわかる整数・小数・比較・論理演算の基礎
New3
データベース
Redisのバックアップ方法を徹底解説!初心者でも安心なデータベース運用と設定の基本
New4
Ruby
Rubyのループ制御をマスター!break、next、redoの違いと使い分け完全ガイド
人気記事
No.1
Java&Spring記事人気No1
Rails
RailsのCSRF対策を完全解説!authenticity_token・SameSite・APIモードまで初心者向けに理解
No.2
Java&Spring記事人気No2
Rails
RailsでXSSを防ぐ完全ガイド|ERB自動エスケープ・sanitize・Content Security Policy設定
No.3
Java&Spring記事人気No3
データベース
Redisのmaxmemory設定とは?メモリ管理とパフォーマンス向上の秘訣を初心者向けに解説
No.4
Java&Spring記事人気No4
データベース
PostgreSQL配列型(Array)入門ガイド!初心者でもわかるデータベースの便利な使い方
No.5
Java&Spring記事人気No5
Rails
メール送信の準備をしよう!SMTPテスト用MailhogとLetter Openerの使い方
No.6
Java&Spring記事人気No6
データベース
データベース設計の要「主キー(プライマリキー)」とは?役割と正しい設計方法を初心者向けに徹底解説
No.7
Java&Spring記事人気No7
Ruby
Rubyのcase/when文を完全攻略!複数条件や正規表現での分岐を初心者向けに解説
No.8
Java&Spring記事人気No8
Ruby
Rubyの真偽値とnilを徹底解説!初心者が知っておくべき判定ルールと安全な書き方