redis チュートリアル
redisを使い始める
サーチ…
備考
このセクションでは、Redisの概要と、開発者がそれを使用する理由について概要を説明します。
また、Redis内の大きな科目についても言及し、関連するトピックにリンクする必要があります。 Redisのドキュメントは新しくなっているので、それらの関連トピックの初期バージョンを作成する必要があります。
バージョン
バージョン | 発売日 |
---|---|
3.2.3 | 2016-08-02 |
3.2.2 | 2016-07-28 |
概要
Redisは、高性能、レプリケーション、独自のデータモデルを提供するインメモリのリモートデータベースで、問題解決のためのプラットフォームを提供します。 Redisは、オープンソース(BSDライセンス)のメモリ内データ構造で、データベース、キャッシュ、メッセージブローカーとして使用されます。 NoSQLのKey-Valueストアに分類されます。これは、文字列、ハッシュ、リスト、セット、範囲問合せを持つソートされたセット、ビットマップ、hyperloglog、および半径問合せを含む地理空間索引などのデータ構造をサポートします。 5つの異なるタイプのデータ構造をサポートし、
- STRING(全体の文字列、部分、整数および浮動小数点数を操作する)
- LIST(両端からプッシュまたはポップする項目)
- SET(追加、フェッチ、削除、チェック、交差、結合、差分など)
- HASH(保存、取得、ハッシュで削除)
- ZSET(セットと同じですが、順序通りに)
- GEO(追加、更新、緯度と経度の削除、指定されたredius内の取得)
Redisには、レプリケーション、Luaスクリプティング、LRU退去、トランザクション、およびディスク上の永続性(同期/非同期)のさまざまなレベルが組み込まれています。
バージョン3以前では、Redisはマスタスレーブモードで動作し、高可用性を提供するためにRedis-Sentinelが必要でした。マスタのみが書き込みを行い、データをそのスレーブにフォークして同期させます。
バージョン3以降、Redisは、フェールオーバー、シャーディング/パーティション分割、再フォーマット機能が組み込まれたマルチマスタモードを推奨します。 Redis-Sentinelは、バージョン3では必須ではありません。 Redisクラスタが動作するためには、最低3つのマスターノード/プロセスが必要です。
その他の機能には、レプリケーション、永続性、およびクライアント側シャーディングがあります。 Redisは、Redisが提供するものに自然にマッピングできるさまざまな問題に対応し、他のデータベースで必要とされる概念的な作業を実行することなく、問題を解決することができます。
Redisコマンドラインインターフェイス
redis-cli
はRedisコマンドラインインターフェイスプログラムで、Redisにコマンドを送信し、サーバーから直接送信された応答を端末から読み取ることができます。基本的なコマンドラインの使用法は次のとおりです。
赤ちゃんへのアクセス:
$ redis-cli
127.0.0.1:6379>
認証による認証へのアクセス:
$ redis-cli -a myPassword
127.0.0.1:6379>
データベースの選択とデータベースサイズの表示(デフォルトのデータベース番号は0):
127.0.0.1:6379> dbsize
(integer) 2
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> dbsize
(integer) 20
サーバーに関する情報と統計情報を取得する:
127.0.0.1:6379> info
redis_version:2.4.10
redis_git_sha1:00000000
redis_git_dirty:0
arch_bits:64
multiplexing_api:epoll
gcc_version:4.4.6
process_id:947
uptime_in_seconds:873394
uptime_in_days:10
lru_clock:118108
used_cpu_sys:19.55
used_cpu_user:397.46
used_cpu_sys_children:0.00
used_cpu_user_children:0.00
connected_clients:1
connected_slaves:0
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0
used_memory:14295792
used_memory_human:13.63M
used_memory_rss:19853312
used_memory_peak:14295760
used_memory_peak_human:13.63M
mem_fragmentation_ratio:1.39
mem_allocator:jemalloc-2.2.5
loading:0
aof_enabled:0
changes_since_last_save:0
bgsave_in_progress:0
last_save_time:1468314087
bgrewriteaof_in_progress:0
total_connections_received:2
total_commands_processed:2
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:0
vm_enabled:0
role:master
db0:keys=2,expires=0
db1:keys=20,expires=0
redis-cliから抜け出す:
127.0.0.1:6379> exit
レディス "Hello World"
まず、Redisサーバーをインストールして起動する必要があります。サーバーまたはローカルマシンにRedisをインストールするのに役立つ以下のリンクを確認してください。
コマンドプロンプトを開き、コマンドredis-cli
を実行します。
最初のセットを保存するには> SET 'keyname'と 'value'
127.0.0.1:6379> SET hkey "Hello World!"
あなたが見るべきであるEnterを押してください
OK
次に、
GET hkey
君は見るべきだ:
"Hello World!"
画面出力例:
Dockerを使ってRedisをインストールする
ドッカーを使ってRedisを使い始めるのは簡単です:
docker pull redis
docker run -p 6379:6379 --rm --name redis redis
これでポート6397
インスタンスが実行されます
重要: Redisが停止すると、すべてのデータが削除されます。
redis-cliを接続するには、別のドッカーを起動します。
docker run -it --link redis:redis --rm redis redis-cli -h redis -p 6379
今あなたはあなたの赤目のドッカーと一緒に遊ぶことができます。
Windows上でのRedis installtion、Node.jsの例
Redisには、「Microsoft Open Technologies」によって提供されるWindowsポートがあります。 msiインストーラはhttps://github.com/MSOpenTech/redis/releasesにあります。
インストールが完了したら、 'Redis'はWindowsサービスです(ステータスは「開始済み」である必要があります)
Node.jsでRedisを使用する「Hello world」の例を書くには(Windowsでも同様)、次のnpmモジュールを使用できます: https : //www.npmjs.com/package/redis
コードサンプル:
var redis = require('redis'),
client = redis.createClient();
client.set('mykey', 'Hello World');
client.get('mykey', function(err,res){
console.log(res);
});