Redisシリーズ-概要とインストール
Redisの概要
Redisは完全にオープンソース無料であり、BSDプロトコル(利用者に自由を与えるプロトコル)に従い、高性能(NOSQL非関係型データベース)のkey-valueデータベースであり、多くの言語のAPIを提供している. 通常、値(value)は文字列(String)、ハッシュ(Hash)、リスト(list)、セット(sets)、およびシーケンスセット(sorted sets)などのタイプであることができるため、データ構造サーバと呼ばれる.
特徴:1.非常に高い性能である-Redisが読める速度は110000回/s、書く速度は81000回/sである.2.豊富なデータ型-RedisがサポートするタイプString、List、Hash、Set及びOrdered Setデータ型操作.3.原子-Redisのすべての操作は原子的であり、成功するか失敗するかは完全に実行されないことを意味する.単一の操作は原子的である.複数のオペレーションは、MULTIおよびEXEC命令によってパッケージされたトランザクション、すなわち原子性もサポートします.4.豊富な特性-Redisはpublish/subscribe、通知、key期限切れなどの特性もサポートしています.
リレーショナル・データベースと非リレーショナル・データベース
リレーショナル・データベースの最も典型的なデータ構造は、テーブルであり、テーブルとテーブルの間に関連関係があります.利点: 2、使い勝手:SQL言語が通用し、複雑なクエリーに使用できる. 3、複雑な操作:SQLをサポートし、1つのテーブルと複数のテーブルの間で非常に複雑なクエリーに使用できます.欠点: 2、固定された表構造は、柔軟性がやや欠けている.従来のリレーショナル・データベースでは、HDD I/Oは大きなボトルネックとなっています.非関係型データベースは、厳密には、大規模なデータ集合の多重データ種がもたらす課題、特にビッグデータ応用の難題を解決するために、データ構造化ストレージ方法の集合である.
NOSQLの4大カテゴリ
一、キー値(key-value)貯蔵データベース
このようなデータベースでは、主にハッシュ・テーブルが使用されます.このテーブルには、特定のキーとポインタがあり、特定のデータに向かっています.Key/valueモデルは、ITシステムにとってシンプルで導入しやすいというメリットがあります.しかし、DBAが一部の値だけを照会したり更新したりする場合、Key/valueは効率が低下します.たとえば、Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDなどです.
二、列貯蔵データベース
これらのデータベースは、通常、分散型ストレージに対応するために使用される大量のデータです.キーは任意に存在しますが、これらのカラムはカラムファミリーによって配置されている複数のカラムを指すのが特徴です.例:Cassandra、HBAse、Riak.
三、文書型データベース
ドキュメント型データベースのインスピレーションは、Lotus Notesオフィスソフトウェアから来ており、最初のキー値ストレージと似ています.このタイプのデータモデルはバージョン化されたドキュメントであり、半構造化されたドキュメントはJSONなどの特定のフォーマットで格納されます.ドキュメント型データベースは、キー値データベースのアップグレード版と見なすことができ、キー値をネストできます.また、ドキュメント型データベースはキー値データベースよりもクエリー効率が高い.例えば、CouchDB、MongoDB.国内にもドキュメント型データベースSequoiaDBがあり、すでにオープンソースとなっている.
四、グラフィックデータベース
グラフィック構造のデータベースは、他の行列やリジッド構造のSQLデータベースとは異なり、柔軟なグラフィックモデルを使用し、複数のサーバに拡張できます.NosQLデータベースには標準的なクエリー言語(SQL)がないため、データベースクエリーを行うにはデータモデルを作成する必要があります.多くのNoSQLデータベースには、REST式のデータインタフェースまたはクエリーAPIがある[2例えば、Neo 4 J、InfoGrid、Infinite Graph.
そこで、NoSQLデータベースは、以下のような状況で比較的適用可能であることをまとめます.
1.データモデルが比較的簡単である;2.より柔軟性の高いITシステムが必要;3.データベースの性能に対する要求が高い;4.高度なデータ整合性を必要としない;5.所与のkeyの場合、複雑な値をマッピングしやすい環境.
Redisは他のkey-valueデータベースに対して
1.データベースの永続化をサポートし、メモリ内のデータをディスクに保存し、再起動時に再ロードして使用することができます.
2.簡単なkey-valueデータ型だけでなく、list、set、zset、hashなどのデータ型の貯蓄も提供します.
3.データのバックアップ、クラスタなどの高可用性機能をサポートします.
Redisの実際の応用:
Redisは読み込み速度が速いため、データベース、キャッシュ(ホットスポットデータ、クエリーされることが多いが削除されたデータを頻繁に変更しない)としても、メッセージキュー、メッセージミドルウェア(チャットルームなど)としても使用できます.
Redisインストール
LinuxでのRedisのインストール
1.インストールgcc redisはC言語で作成されているので、gcc環境が必要で、前にnginxをインストールしたときに一度インストールしたことがあります.
2.Redisのインストール
インストールすると、redisディレクトリが自動的に作成され、そのディレクトリにredisがインストールされます.
Redisは完全にオープンソース無料であり、BSDプロトコル(利用者に自由を与えるプロトコル)に従い、高性能(NOSQL非関係型データベース)のkey-valueデータベースであり、多くの言語のAPIを提供している. 通常、値(value)は文字列(String)、ハッシュ(Hash)、リスト(list)、セット(sets)、およびシーケンスセット(sorted sets)などのタイプであることができるため、データ構造サーバと呼ばれる.
特徴:1.非常に高い性能である-Redisが読める速度は110000回/s、書く速度は81000回/sである.2.豊富なデータ型-RedisがサポートするタイプString、List、Hash、Set及びOrdered Setデータ型操作.3.原子-Redisのすべての操作は原子的であり、成功するか失敗するかは完全に実行されないことを意味する.単一の操作は原子的である.複数のオペレーションは、MULTIおよびEXEC命令によってパッケージされたトランザクション、すなわち原子性もサポートします.4.豊富な特性-Redisはpublish/subscribe、通知、key期限切れなどの特性もサポートしています.
リレーショナル・データベースと非リレーショナル・データベース
リレーショナル・データベースの最も典型的なデータ構造は、テーブルであり、テーブルとテーブルの間に関連関係があります.利点: 2、使い勝手:SQL言語が通用し、複雑なクエリーに使用できる. 3、複雑な操作:SQLをサポートし、1つのテーブルと複数のテーブルの間で非常に複雑なクエリーに使用できます.欠点: 2、固定された表構造は、柔軟性がやや欠けている.従来のリレーショナル・データベースでは、HDD I/Oは大きなボトルネックとなっています.非関係型データベースは、厳密には、大規模なデータ集合の多重データ種がもたらす課題、特にビッグデータ応用の難題を解決するために、データ構造化ストレージ方法の集合である.
NOSQLの4大カテゴリ
一、キー値(key-value)貯蔵データベース
このようなデータベースでは、主にハッシュ・テーブルが使用されます.このテーブルには、特定のキーとポインタがあり、特定のデータに向かっています.Key/valueモデルは、ITシステムにとってシンプルで導入しやすいというメリットがあります.しかし、DBAが一部の値だけを照会したり更新したりする場合、Key/valueは効率が低下します.たとえば、Tokyo Cabinet/Tyrant、Redis、Voldemort、Oracle BDなどです.
二、列貯蔵データベース
これらのデータベースは、通常、分散型ストレージに対応するために使用される大量のデータです.キーは任意に存在しますが、これらのカラムはカラムファミリーによって配置されている複数のカラムを指すのが特徴です.例:Cassandra、HBAse、Riak.
三、文書型データベース
ドキュメント型データベースのインスピレーションは、Lotus Notesオフィスソフトウェアから来ており、最初のキー値ストレージと似ています.このタイプのデータモデルはバージョン化されたドキュメントであり、半構造化されたドキュメントはJSONなどの特定のフォーマットで格納されます.ドキュメント型データベースは、キー値データベースのアップグレード版と見なすことができ、キー値をネストできます.また、ドキュメント型データベースはキー値データベースよりもクエリー効率が高い.例えば、CouchDB、MongoDB.国内にもドキュメント型データベースSequoiaDBがあり、すでにオープンソースとなっている.
四、グラフィックデータベース
グラフィック構造のデータベースは、他の行列やリジッド構造のSQLデータベースとは異なり、柔軟なグラフィックモデルを使用し、複数のサーバに拡張できます.NosQLデータベースには標準的なクエリー言語(SQL)がないため、データベースクエリーを行うにはデータモデルを作成する必要があります.多くのNoSQLデータベースには、REST式のデータインタフェースまたはクエリーAPIがある[2例えば、Neo 4 J、InfoGrid、Infinite Graph.
そこで、NoSQLデータベースは、以下のような状況で比較的適用可能であることをまとめます.
1.データモデルが比較的簡単である;2.より柔軟性の高いITシステムが必要;3.データベースの性能に対する要求が高い;4.高度なデータ整合性を必要としない;5.所与のkeyの場合、複雑な値をマッピングしやすい環境.
Redisは他のkey-valueデータベースに対して
1.データベースの永続化をサポートし、メモリ内のデータをディスクに保存し、再起動時に再ロードして使用することができます.
2.簡単なkey-valueデータ型だけでなく、list、set、zset、hashなどのデータ型の貯蓄も提供します.
3.データのバックアップ、クラスタなどの高可用性機能をサポートします.
Redisの実際の応用:
Redisは読み込み速度が速いため、データベース、キャッシュ(ホットスポットデータ、クエリーされることが多いが削除されたデータを頻繁に変更しない)としても、メッセージキュー、メッセージミドルウェア(チャットルームなど)としても使用できます.
Redisインストール
LinuxでのRedisのインストール
1.インストールgcc redisはC言語で作成されているので、gcc環境が必要で、前にnginxをインストールしたときに一度インストールしたことがあります.
yum -y install gcc automake autoconf libtool make
2.Redisのインストール
1) redis
wget http://download.redis.io/releases/redis-4.0.1.tar.gz
2)
var -zxvf redis-4.0.1.tar.gz
3) redis
cd redis-4.0.1
4)
make MALLOC=libc
5)
make PREFIX=/home/redis install
インストールすると、redisディレクトリが自動的に作成され、そのディレクトリにredisがインストールされます.
1. redis:
redis/bin , ./redis-server redis
2. redis:
, redis/bin , ./redis-cli redis
ping redis