はじめに
こんにちは、Python界のはみだし刑事純情派です。さて、最近 id:a2c と @shibukawa ととりかかっていたRedisドキュメントの翻訳プロジェクトですが、自分が担当していたコマンドリファレンスがようやく翻訳完了したのでここにお知らせします。
翻訳したもの
とりあえず自分が翻訳したのはコマンドリファレンスとデータ型について
そもそもRedisってなんですか?
「翻訳したのはわかったけど、とりあえずRedisって何よ?」って方には下記をご参照あれ。 id:Voluntas お疲れ様です。
すげーざっくり言えばKVSだけどもmemcachedよりは機能がたくさんあるんじゃない?という感じ。自分なりにまとめてみると、
- いい点
- 頑張ってほしい点
まあ正直自分がそんなに使い込んでるわけでもないんでそんなにわかりません。もしすでに結構使っていて「こういう性質があるよ」って人がいたらブログにコメント下さい。
ちょっと遊んでみたいんだけど
インストール
とりあえず何はともあれインストールしましょう。
- Macの人
MacPortsにあるよ
$ port search redis ... redis @2.0.4 (databases) A persistent key-value database with built-in net interface written in ANSI-C for POSIX systems ... $ sudo port install redis
- Ubuntuの人
$ apt-cache search redis ... redis-server - Persistent key-value database with network interface ... $ sudo apt-get install redis-server
- それ以外の人
多分他のディストリビューションでも簡単にパッケージ経由でインストールできると思いますよ。ここではソースからビルドする方法を載せます。
$ curl -O http://redis.googlecode.com/files/redis-2.0.4.tar.gz $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make
こんだけ。楽ちん。PATHが通ったところに置いときましょう。
コマンドを試してみる
Redisをインストールするとサーバプログラム redis-server とクライアントプログラム redis-cli が使えるようになります。
- Redisサーバ起動
$ redis-server [64910] 21 Nov 01:25:41 # Warning: no config file specified, using the default config. In order to specify a config file use 'redis-server /path/to/redis.conf' [64910] 21 Nov 01:25:41 * Server started, Redis version 2.0.4 [64910] 21 Nov 01:25:41 * The server is now ready to accept connections on port 6379 [64910] 21 Nov 01:25:41 - 0 clients connected (0 slaves), 1074272 bytes in use [64910] 21 Nov 01:25:46 - 0 clients connected (0 slaves), 1074272 bytes in use
こんな感じで簡単にサーバが起動します。Warning出てますが、これは設定ファイルを書いてないから出てるだけで、ちゃんと動いているから大丈夫です。
- Redisクライアントで接続してみる
さて今度は違うシェルを立ち上げていま立ち上げたばかりのRedisサーバに接続してみます。
$ redis-cli redis> SET foo 1 OK redis> GET foo "1"
この時サーバの標準出力を見てみるとDBに登録されたのが確認できます。
[64910] 21 Nov 01:27:46 - Accepted 127.0.0.1:60334 [64910] 21 Nov 01:27:51 - DB 0: 1 keys (0 volatile) in 4 slots HT. [64910] 21 Nov 01:27:51 - 1 clients connected (0 slaves), 1075264 bytes in use
こんな感じでコマンドリファレンスを見ながら遊んでみれば使い方がわかるのではないかと思いますよ。
- プログラミング言語から呼んでみる
さらにこれを実際に使おうと思ったらライブラリ経由で叩くことになると思います。いろんな言語での実装がありますが、ここではPythonのライブラリを使ってみましょう。
$ easy_install redis $ python Python 2.6.6 (r266:84292, Oct 4 2010, 18:48:45) [GCC 4.2.1 (Apple Inc. build 5659)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import redis >>> cli = redis.Redis() >>> cli.set('spam', 'ymotongpoo') True >>> cli.get('spam') 'ymotongpoo'
簡単ですねー。インストールからライブラリで操作するまで5分もかかりません。それくらいビルドも簡単というのもRedisの魅力ですね。
参照
- redis - A persistent key-value database with built-in net interface written in ANSI-C for Posix systems - Google Project Hosting
- antirez/redis · GitHub
もちろん日本語訳はなるべく早く追従しますが、やはり最新情報は本家を参照してください。
Pythonライブラリです。出来が相当いいようですよ。