Redisの基本概念から実践まで:インストール方法とクライアント接続ガイド

NoSQLデータベースとRedisの概要

従来のリレーショナルデータベース(MySQLなど)とは異なり、NoSQLデータベースは異なるアプローチを取ります。SQLとNoSQLの主な違いを見てみましょう。

構造化ストレージ vs 非構造化ストレージ

SQL(構造化ストレージ):

idnameage
1山田太郎28
2佐藤花子32

NoSQL(非構造化ストレージ):

keyvalue
id1
name山田太郎
age28

またはドキュメント形式:

{id: 2, name: "佐藤花子", age: 32}

リレーショナル vs 非リレーショナル

SQL: 外部キーを使用してテーブル間の関係を確立します。

NoSQL: ドキュメント形式でデータを格納し、関係をネストして表現します。

{
  id: 1,
  name: "山田太郎",
  orders: [
    {
      id: 1,
      item: {
        id: 10, 
        title: "商品A", 
        price: 1999
      }
    },
    {
      id: 2,
      item: {
        id: 20, 
        title: "商品B", 
        price: 2999
      }
    }
  ]
}

Redisの特徴

Redis(Remote Dictionary Server)は、メモリベースのキー値型NoSQLデータベースです。主な特徴:

  • 多様なデータ構造をサポートするキー値型ストア
  • シングルスレッド処理によるコマンドの原子性
  • メモリベースによる低レイテンシと高速処理
  • ディスクへのデータ永続化サポート
  • マスタースレーブレプリケーションとシャーディング対応
  • 多言語クライアントサポート

Linux環境へのRedisインストール

必要な環境準備

Redisをインストールする前に、Linux環境を準備します。CentOS 7を例に説明します。

Redis依存関係のインストール

RedisはC言語で書かれているため、まずgcc依存関係をインストールします:

yum install -y gcc tcl

Redisのダウンロードと展開

Redisの公式サイトから安定版をダウンロードし、展開します:

cd /usr/local/src
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar -xzf redis-6.2.6.tar.gz

Redisのコンパイルとインストール

Redisをコンパイルしてインストールします:

cd redis-6.2.6
make && make install

インストールが完了すると、/usr/local/binディレクトリにRedis関連の実行ファイルが配置されます。

Redisの起動方法

デフォルト起動

最も簡単な起動方法ですが、フォアグラウンドで実行されるためターミナルを占有します:

redis-server

停止するにはCtrl+Cを押します。

設定ファイル指定起動

バックグラウンドで実行するには設定ファイルを変更します:

  1. 設定ファイルのバックアップを作成:
    cp redis.conf redis.conf.bck
  2. 設定ファイルを編集:
    vi redis.conf
  3. 主な設定項目を変更:
    # すべてのIPアドレスからのアクセスを許可
    bind 0.0.0.0
    # バックグラウンド実行を有効化
    daemonize yes
    # パスワード認証を設定
    requirepass redis123
  4. Redisを起動:
    cd /usr/local/src/redis-6.2.6
    redis-server redis.conf
  5. プロセスを確認:
    ps -ef | grep redis
  6. Redisを停止:
    kill -9 [プロセスID]

システムサービスとしての自動起動設定

  1. システムサービスファイルを作成:
    vi /etc/systemd/system/redis.service
  2. 以下の内容を記述:
    [Unit]
    Description=Redis Server
    After=network.target
    
    [Service]
    Type=forking
    ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
    ExecStop=/usr/local/bin/redis-cli shutdown
    PrivateTmp=true
    
    [Install]
    WantedBy=multi-user.target
  3. システムサービスを再読み込み:
    systemctl daemon-reload
  4. Redisを起動:
    systemctl start redis
  5. 状態を確認:
    systemctl status redis
  6. 自動起動を有効化:
    systemctl enable redis

Redisクライアントの使用方法

コマンドラインクライアント

Redisに付属しているコマンドラインクライアントの使用方法:

redis-cli [options] [commands]

主なオプション:

  • -h [ホスト名]: 接続先RedisサーバーのIPアドレス(デフォルト: 127.0.0.1)
  • -p [ポート番号]: 接続先Redisサーバーのポート(デフォルト: 6379)
  • -a [パスワード]: Redisの認証パスワード

使用例:

# Redisサーバーに接続してpingを送信
redis-cli -h 192.168.1.100 -p 6379 -a redis123 ping

# 対話モードで接続
redis-cli -h 192.168.1.100 -p 6379
# 認証
AUTH redis123
# pingコマンドを実行
ping

GUIクライアント

Redisの操作を視覚的に行うためのGUIツールも利用できます。例えば:

  • RedisInsight(Redis公式ツール)
  • AnotherRedisDesktopManager
  • Medis(macOS用)

これらのツールを使用する際は、接続先サーバーのファイアウォール設定でRedisのポート(デフォルト: 6379)が開放されている必要があります。

# ファイアウォールを一時的に停止(テスト環境のみ)
systemctl stop firewalld

タグ: redis NoSQL データベース インストール クライアント

8月30日 14:55 投稿