初期 Redis と Redis のインストール

目次

1. Redis の最初の紹介

1.1.NoSQL について理解する

1.1.1. 構造化と非構造化

1.1.2. 関連および非関連

1.1.3. クエリ方法

1.1.4.トランザクション

1.1.5. 概要

1.2. Redis について知る

1.3. Redis のインストール

1.3.1. 依存ライブラリ

1.3.2. インストールパッケージをアップロードして解凍します。

1.3.3.起動

1.3.4.デフォルトで起動する

1.3.5. 設定を指定して開始します

1.3.6.電源投入後自動的に起動


1. Redis の最初の紹介

Redis はキーと値の NoSql データベースであり、ここには 2 つのキーワードがあります。

  • キーと値の型

  • いいえSQL

キーと値のタイプは、 Redis に保存されるデータがキーと値のペアの形式で保存されることを意味し、値は文字列、数値、さらには json などのさまざまな形式にすることができます。

NoSql は、従来のリレーショナル データベースとは大きく異なるデータベースです。

1.1.NoSQL について理解する

NoSql は、 Not Only SQL (SQL だけではない) データベース、または No Sql (非 SQL) データベースに変換できます。従来のリレーショナル データベースとは大きく異なる特殊なデータベースであるため、非リレーショナル データベースとも呼ばれます。

1.1.1. 構造化と非構造化

従来のリレーショナル データベースは構造化データであり、各テーブルにはフィールド名、フィールド データ型、フィールド制約などの厳密な制約情報があります。挿入されたデータは次の制約に準拠する必要があります。

一方、NoSql にはデータベース形式に厳密な制約がなく、多くの場合形式が緩く自由です。

キーと値のタイプを指定できます。

ドキュメント タイプにすることもできます。

グラフィック形式にすることもできます。

1.1.2. 関連および非関連

従来のデータベースでは、テーブル間に外部キーなどの関係が存在することがよくあります。

非リレーショナル データベースには関係がありません。関係を維持するには、コード内のビジネス ロジックまたはデータ間の結合に依存する必要があります。

{
  id: 1,
  name: "张三",
  orders: [
    {
       id: 1,
       item: {
     id: 10, title: "荣耀6", price: 4999
       }
    },
    {
       id: 2,
       item: {
     id: 20, title: "小米11", price: 3999
       }
    }
  ]
}

ここでは、「Zhang San」の注文と製品「Honor」および「Xiaomi 11」の関係を維持する必要があり、これら 2 つの製品を Zhang San の注文文書に重複して保存する必要がありますが、これは十分にエレガントではありません。人間関係を維持するには、やはりビジネスを利用することをお勧めします。

1.1.3. クエリ方法

従来のリレーショナル データベースは SQL ステートメントに基づいてクエリを作成し、その構文には統一された標準があります。

さまざまな非リレーショナル データベースのクエリ構文は非常に異なり、多様です。

1.1.4.トランザクション

従来のリレーショナル データベースは、トランザクション ACID 原則を満たすことができます。

非リレーショナル データベースは多くの場合、トランザクションをサポートしていないか、ACID 特性を厳密に保証できず、基本的な一貫性しか実現できません。

1.1.5. 概要

上記の 4 つの点に加えて、リレーショナル型と非リレーショナル型の間には、保存方法、スケーラビリティ、クエリのパフォーマンスの点でも大きな違いがあり、それらをまとめると次のようになります。

  • 保存方法

    • リレーショナル データベースはディスクに保存され、大量のディスク IO が発生し、パフォーマンスに一定の影響を与えます。

    • 非リレーショナル データベースの場合、その操作はメモリに大きく依存するため、メモリの読み取りおよび書き込み速度が非常に速くなり、当然パフォーマンスも向上します。

  • スケーラビリティ

    • リレーショナル データベースのクラスター モードは一般にマスター/スレーブであり、マスターとスレーブのデータは一貫性があり、垂直拡張と呼ばれるデータのバックアップの役割を果たします。

    • 非リレーショナル データベースでは、データを分割して別のマシンに保存できるため、大量のデータを保存し、メモリ サイズの制限の問題を解決できます。いわゆる水平展開です。

    • リレーショナル データベースではテーブル間にリレーションシップがあるため、水平方向の拡張はデータ クエリに多くの問題を引き起こします。

1.2. Redis について知る

Redis は 2009 年に誕生し、正式名はRemote Dictionary Server で、メモリベースのキーと値の NoSQL データベースです

特徴:

  • Key-Value 型、Value はさまざまなデータ構造をサポートし、豊富な機能を備えています

  • シングルスレッド、各コマンドはアトミックです

  • 低遅延、高速 (メモリベース、IO 多重化、優れたエンコーディング)。

  • データの永続性をサポートする

  • マスター/スレーブ クラスターとシャード クラスターをサポート

  • 多言語クライアントのサポート

著者: アンティレス

Redis公式サイトアドレス:Redis

1.3. Redis のインストール

ほとんどの企業は Linux サーバーに基づいてプロジェクトを展開しており、Redis は Windows バージョンのインストール パッケージを公式には提供していません。したがって、このコースでは、Linux システムに基づいて Redis をインストールします。

ここで選択した Linux のバージョンは CentOS 7 です。

1.3.1. 依存ライブラリ

Redis は C 言語に基づいて記述されているため、最初に Redis に必要な gcc 依存関係をインストールする必要があります。

yum install -y gcc tcl

1.3.2. インストールパッケージをアップロードして解凍します。

次に、Redis インストール パッケージを仮想マシンの任意のディレクトリにアップロードします。

解凍します:

tar -xzf redis-6.2.6.tar.gz

Redis ディレクトリを入力します。

进入redis目录:

コンパイルコマンドを実行します。

make && make install

エラーがなければ、インストールは成功するはずです。

デフォルトのインストール パスは/usr/local/bin次のディレクトリにあります。

このディレクトリはデフォルトで環境変数として構成されているため、これらのコマンドは任意のディレクトリから実行できます。で:

  • redis-cli: redis によって提供されるコマンド ライン クライアントです。

  • redis-server: redisのサーバー起動スクリプトです。

  • redis-sentinel: Redis の Sentinel 起動スクリプトです。

1.3.3.起動

Redis を開始するには、次のようなさまざまな方法があります。

  • デフォルトで開始

  • 指定された構成で開始する

  • 起動時に自動的に起動する

1.3.4.デフォルトで起動する

インストールが完了したら、任意のディレクトリに redis-server コマンドを入力して Redis を起動します。

redis-server

 図に示すように:

この種の起動では前台启动セッション ウィンドウ全体がブロックされ、CTRL + Cウィンドウが閉じられるか押されると Redis が停止します。お勧めしません。

1.3.5. 設定を指定して開始します

后台このメソッドでRedis を起動したい場合は、Redis 構成ファイルを変更する必要があります。このファイルは、前に解凍した Redis インストール パッケージ ( /usr/local/src/redis-6.2.6) の下にあり、名前は redis.conf です。

次に、redis.conf ファイル内のいくつかの構成を変更します。  

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问。修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123321

 Redis のその他の一般的な構成:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

Redis を起動します。

# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf

故障中:  

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown

1.3.6.電源投入後自動的に起動

起動時に自動的に起動するように設定することもできます。

まず、新しいシステム サービス ファイルを作成します。

vi /etc/systemd/system/redis.service

内容は以下の通りです。

[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
PrivateTmp=true

[Install]
WantedBy=multi-user.target

次に、システム サービスをリロードします。

systemctl daemon-reload

これで、次の一連のコマンドを使用して Redis を操作できるようになります。

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

次のコマンドを実行して、起動時に Redis が自動的に開始されるようにします。

systemctl enable redis

おすすめ

転載: blog.csdn.net/m0_62609939/article/details/130569579