(1)
Redis
インストールと使用が完了しました。データベースの挿入、削除、クエリを完了します。
Redis
これはkey-value
、キーと値のペアの非リレーショナル データベースなどのキーと値のストレージ システム ( ) でありMemcached
、現在ますます多くのインターネット企業で採用されています。Redis
高性能のキーと値のデータベースとして、memcached
このタイプのキーと値のストレージの欠点を大幅に補うだけでなく、場合によってはリレーショナル データベースに対して非常に優れた補完的な役割を果たすこともできます。非常に使いやすいクライアント、、、Redis
を提供します。①ユーザーとしてログインし、システムを使用してファイル転送を圧縮形式でディレクトリに保存し、パッケージをパスに。Python
Ruby
Erlang
PHP
hadoop
ubuntu kylin
windows
FileZilla
redis-5.0.5.tar.gz
“/home/hadoop/下载”
/usr/local
redis-5.0.5.tar.gz
②ファイルを解凍し、“/usr/local/”
ディレクトリに保存します。
③名前redis-5.0.5
を に変更しredis
、ユーザーredis
にディレクトリの権限を与えます。④ディレクトリを入力し、「compile」と入力して「install」を実行します。⑤インストールが完了しましたので、サーバーを起動してください。⑥新規ターミナルを作成し、クライアントを起動します。クライアントがサーバーに接続すると、サーバーのアドレスがでポートが であることを示すコマンド プロンプト情報が表示されます。これで、キーをvalueに設定したり、 keyになど、簡単な操作を実行できるようになります。この時点で、インストールと操作は成功し、データベースを操作できるようになります。データベースには という形式でデータが格納されますが、テーブル内のデータをデータベースに格納する際の合計の求め方は次のようになります。hadoop
“/usr/local/redis”
Redis
Redis
Redis
Redis
“127.0.0.1:6379>”
IP
127.0.0.1
6379
”hello”
”world”
”hello”
Redis
Redis
Redis
<key,value>
Redis
key
value
* key=表名:主键值:列名
* value=列值
⑦データの挿入:
Redis
データを挿入するには、最初に合計を設計しkey
、コマンドをvalue
使用してset
データを挿入するだけです。たとえば、Course
新しいコース「ビッグデータ」をテーブルに挿入する場合、4 単位、操作コマンドと結果は次の図に示されています。
⑧データ削除:Redis
データを削除するための特別なコマンド—コマンドがありdel
、コマンド形式は「del
キー」です。“del Course:8:Cname”
したがって、以前に追加したコース「ビッグデータ」を削除したい場合は、次の図に示すようにコマンドを入力するだけで済みます。コマンドを入力すると、データが正常に削除されたことを示すコマンド“del Course:8:Cname”
が返されます。“1”
。
⑨データのクエリ:Redis
クエリを実行する最も簡単な方法は、get
コマンドを使用することです。コマンド クエリを入力しますget
。出力が空の場合は、データが正常に削除されたことを意味します。
(2)
MongoDB
設置および使用。
MongoDB
基本的なコマンド を完了しますshell
。MongoDB
リレーショナル データベースと非リレーショナル データベースの中間の分散ファイル ストレージに基づいたデータベースで、非リレーショナル データベースの中で最も機能が高く、リレーショナル データベースに最も似ています。サポートするデータ構造は非常に緩く、同様のjson
形式であるbson
ため、より複雑なデータ型を格納できます。Mongo
最大の特徴は、サポートするクエリ言語が非常に強力で、その構文はオブジェクト指向クエリ言語に似ており、リレーショナルデータベースの単一テーブルクエリと同様の機能のほとんどを実現でき、インデックス作成もサポートしています。データ。
①apt-get
オンラインインストール用のコマンドを使用するとMongoDB
、多くの不可解な問題を回避できます。
コマンド ラインをsudo apt-get install mongodb
ダウンロードしてインストールできますMongoDB
。デフォルトでインストールされるバージョンは ですMongoDB 2.6.10
が、MongoDB
にアップグレードされています3.2.8
。ソフトウェア ソースを追加することで、このバージョンをインストールできます3.2.8
。
a. まずターミナルを開き、パブリックをkey
パッケージ マネージャーにインポートします
b.MongoDB
ファイルのリストを作成します。
c. パッケージ マネージャーを更新し、インストールしますMongoDB
。
d.MongoDB
インストールが完了したら、ターミナルに次のコマンドを入力してMongoDB
バージョンを表示します。
②MongoDB
スタートとストップ。
③MongoDB
コマンドshell
モードに入ります。デフォルトで接続されるデータベースはtest
データベースです。その前に、それが起動されていることを確認してくださいMongoDB
。そうでないとエラーが発生します。起動後の正常な操作は次のとおりです。
④共通操作コマンド
データベース関連
show dbs
: データベースリストの表示
show collections
: 現在のデータベース内のコレクションの表示 (リレーショナルデータベースのテーブルと同様table
)
show users
: すべてのユーザーの表示
use yourDB
: 現在のデータベースの切り替えyourDB
db.help()
: データベース操作コマンドの表示
db.yourCollection.help()
: コレクション操作コマンド (yourCollection
コレクション名) の表示
MongoDB
データベースを作成するコマンドはありません。データベースを作成する場合は、最初にコマンドを“School”
実行してuse School
から、いくつかの操作 (コレクションの作成などdb.createCollection('teacher')
) を実行すると、 という名前のデータベースを作成できます“School”
。
⑤School
データベースを例に挙げると、データベース内にSchool
2つのコレクションteacher
と合計を作成しstudent
、student
コレクション内のデータに対して追加、削除、変更、クエリなどの基本操作を実行します(コレクションはCollection
リレーショナルデータベースのテーブルに相当しますtable
)。
a.School
データベースに切り替えます (School
データベースに切り替えます。データベースをMongoDB
事前に作成する必要はありませんSchool
。データベースは使用時に自動的に作成されます)
b. 作成Collection
(集約コレクションを作成します。MongoDB
実際、データを挿入するとき、対応するコレクションも自動的に作成されます (事前定義されたコレクションは必要ありません)
c. データベースの作成と同様に、MongoDB
データが挿入されるとコレクションが自動的に作成されます。insert
データを挿入するには、と の2 つの方法がありますsave
。
データが正常に挿入されました
_id
同様に、データを更新します
_id
同じですが、挿入に失敗しました。操作はありません。
json
d. 追加されたデータの構造は、形式が許容できる限り緩く、列の属性は固定されず、追加されたデータが優先されます。最初にデータを定義してから挿入すると、複数のデータを一度に挿入できます。
e. 上記の例を実行すると、
student
これは自動的に作成されます。MongoDB
これは、事前に定義する必要がなく、collection
最初のデータ挿入後にcollection
自動的に作成されることを示しています。
⑥ データの検索
a.db.student.find()
すべてのレコードをクエリします。に相当:select * from student
b.
db.student.find({sname: 'zhangsan'})
レコードのsname='zhangsan'
クエリ。に相当:select * from student where sname='zhangsan'
c.
db.student.find({},{sname:1, sage:1})
指定された列sname
とsage
データをクエリします。以下と同等:select sname,sage from student
。:1 は列
sname
を返すことを意味し、デフォルトのフィールドも返されます。これをwrite に追加することもできます(返さないことを意味します) 。デフォルトのフィールドは返されませんsname
_id
_id:0
_id
{sname: 1, sage: 1,_id:0}
_id
d.
db.student.find({sname: 'zhangsan', sage: 22})
and
条件を指定してクエリを実行します。に相当:select * from student where sname = 'zhangsan' and sage = 22
e.
db.student.find({$or: [{sage: 22}, {sage: 25}]})
or
条件付きクエリ。に相当:select * from student where sage = 22 or sage = 25
f.
db.youCollection.find(criteria, filterDisplay) criteria
:
クエリ条件、オプションfilterDisplay
: 指定された列データの表示など、データの一部をフィルタリングして表示します、オプション (選択した場合、最初のパラメータは省略できません。クエリ条件が空の場合、プレースホルダとして使用できます{}
)
⑦ data を変更する
db.youCollection.update(criteria, objNew, upsert, multi )
criteria: update
ための、sql update
クエリ:where
の背後にあるオブジェクトや一部の更新演算子 ( など) と同様に、クエリ内で次のように理解することもできます。:レコードが存在しない場合、挿入するかどうかに関係なく、デフォルトでは挿入されません。:デフォルトでは、最初に見つかったレコードのみが更新されます。このパラメータが true の場合、条件に従って検出されたすべての複数のレコードが更新されます。デフォルトでは、最初に一致したデータのみが変更されます。ここで、 と は必須パラメータとオプションのパラメータです。、これは次と同等です。objNew
update
$set
sql update
set
upsert
update
objNew
true
false
multi
mongodb
false
false
criteria
objNew
upsert
multi
db.student.update({sname: 'lisi'}
{$set: {sage: 30}}, false, true)
update student set sage =30 where sname = 'lisi'
⑧データの削除
db.student.remove({sname: 'chenliu'})
に相当します。delete from student where sname='chenliu'
⑨コレクションの削除
⑩
shell
コマンドモードの終了コマンドモード
の入力exit
またはCtrl+C
終了shell
(3)
Java API
ペアMongoDB
を使用してアクセスします。①
Java MongoDB Driver
ドライバーjar
パッケージがダウンロードされ、’/home/hadoop/下载/’
ディレクトリに保存されました。
② を開いてEclipse
新規作成しますJava Project
。
ドライバー パッケージをインポートしますmongodb-driver-3.8.0.jar
。
新規作成内部のコードClass Average_grade
をクリアしAverage_grade.java
てから、student
このファイル内のコレクションの追加、削除、変更、クエリ操作を実行するための完全なコードを入力します。
プログラムが実行されると、Console
実行結果情報が下部の「 」パネルに表示されます。
プログラムが実行されるたびに、shell
結果を表示するモードに戻ることができます。例:eclipse
更新操作を実行した後、shell
モードに入ると、コレクションのすべてのデータdb.student.find()
を表示できます。student
(4)
Redis
従来のMysql
データベースとの違いは何ですか?①
mysql
リレーショナルデータベースであり、主に永続的なデータを保存するために使用され、データはハードディスクに保存され、読み取り速度は比較的遅いです。redis
はいNOSQL
、つまり、非リレーショナル データベースはキャッシュ データベースでもあり、データはキャッシュに保存されます。キャッシュは読み取りが速く、操作効率を大幅に向上させることができますが、保存時間は限られています。
②mysql
永続ストレージ用のリレーショナルデータベースとしては、データベースへのアクセスを繰り返すと、アクセス要求が発生するたびにI/O
操作が発生するという比較的弱点があります。
1 つ目: データベースへの繰り返し接続に多くの時間がかかり、動作効率が低下しすぎます。2
つ目: データベースへの繰り返しアクセスもデータベースに過剰な負荷をもたらすため、この時点でキャッシュの概念が派生しました。 。
③キャッシュとは、データ交換のためのバッファ()でありcache
、ブラウザがリクエストを実行すると、まずキャッシュを検索し、存在する場合は取得し、存在しない場合はデータベースにアクセスします。キャッシュの利点は、読み取り速度が速いことです。
④redis
データベースはキャッシュデータベースとなっており、頻繁に使用するデータを格納することで、データベースへのアクセス回数を減らし、業務効率を向上させます。(5)
MongoDB
どのような特徴があり、Mysql
データベースとの違いはどこにありますか?特徴:文書データベースに属する
Mongodb
非リレーショナルデータベース()です。nosql
ドキュメントはmongoDB
データベース内のデータの基本単位です。リレーショナル データベースの行に似ています。複数のキーと値のペアが整然と配置されてドキュメントを形成します。構文はオブジェクト指向に似ています。javascript
クエリ言語で、セット指向のフリーモードのドキュメント タイプ データベースです。
ストレージ方式: 仮想メモリ + 永続性。クエリ文: 独自のクエリメソッドですMongodb
。適切なシナリオ: イベント記録、コンテンツ管理、ブログ プラットフォームなど。
アーキテクチャの特徴: 高可用性は、レプリカ セットと断片化を通じて実現できます。
データ処理:データはハードディスクに保存されますが、頻繁に読み込む必要があるデータはメモリにロードし、物理メモリにデータを格納することで高速な読み書きを実現します。
成熟度と幅広さ: 新興データベースは成熟度が低く、Nosql
データベースの中ではリレーショナル データベースに最も近く、比較的完成度が高くDB
、適用対象人口は常に増加しています。違い:
MongoDB
もう1つの最大の欠点は、多くのスペースを必要とすることです。MongoDB
データベース内で頻繁にデータの追加、削除、変更を行う場合、データサイズが変わるなどレコードが変更されると、このときにデータの断片が発生する可能性が高くなります。その結果、インデックスにパフォーマンスの問題が発生することが 1 つあります。
MySQL
どちらもMongoDB
一般的なオープン ソース データベースですが、MySQL
従来のリレーショナル データベースであるMongoDB
のに対し、ドキュメント データベースとも呼ばれる非リレーショナル データベースはNoSQL
データベースの一種です。それぞれに独自の利点があり、重要なのは、それらがどこで使用されるかを確認することです。したがって、ステートメントはリレーショナル データベースの標準言語であるため、私たちがよく知っているSQL
(フルネーム) ステートメントStructured Query Language
は適用できません。MongoDB
SQL