RedisはANSI Cで書かれていて、すべてのデータセットをメモリ内に読み込むため、危険なほどのスピードで動作します!エントリーレベルのLinuxマシンで、110,000 SET/秒、81,000 GET/秒を達成することができます。
また、Redisはコマンドの パイプライニング をサポートしているため、複数の値を1つのコマンドで取得したり設定できるため、クライアントライブラリとの通信をスピードアップすることができます。
すべてのデータがメモリ上にあり、変更は非同期でディスク上に書き込まれます。書き込むタイミングについては、最後に保存してからの経過時間および、アップデートの回数、もしくはその両方など、柔軟にポリシーを設定することができます。
もし、データが失われることが許容できないのであれば、追記専用ファイル永続化モードもサポートしています。
Redisの値としては、伝統的なキー・バリュー・ストアと同様、 文字列型 をサポートしていますが、これ以外にも、 リスト型 、 セット型 、 ソート済みセット型 、 ハッシュ型 も使えます。このデータ型に対しては、要素のpush/pop、add/remove、またはサーバサイドでのセット間の和、積、差など、型によって様々な操作をサポートしています。Redisは セット型 と リスト型 に対して、異なる種類のソート機能をサポートしています。
Redisを、 データ構造サーバ と考えると、重要な問題のモデル化に使用することもできます。
Redisは、データ型ごとの操作は アトミック に動作します。そのため、キーの増加、セットに対する要素のadd/remove、カウンターの増加などの操作は、すべて安全に完了します。
Ruby、Python、Twisted Python、PHP、Erlang、Tcl、Perl、Lua、Java、Scala、Clojureなどから好きな言語を選べます。
0 件のコメント:
コメントを投稿