2018年07月22日

言語処理100本ノックでPython入門 #60(前編) - Redisのインストール

  

今日から、言語処理100本ノック 2015の第7章に入ります。

第7章はデータベースの問題です。

■ 問題


第7章: データベース

artist.json.gzは,オープンな音楽データベースMusicBrainzの中で,アーティストに関するものをJSON形式に変換し,gzip形式で圧縮したファイルである.このファイルには,1アーティストに関する情報が1行にJSON形式で格納されている.JSON形式の概要は以下の通りである.

... 長くなるので省略 ...

artist.json.gzのデータをKey-Value-Store (KVS) およびドキュメント志向型データベースに格納・検索することを考える.KVSとしては,LevelDB,Redis,KyotoCabinet等を用いよ.ドキュメント志向型データベースとして,MongoDBを採用したが,CouchDBやRethinkDB等を用いてもよい.

60. KVSの構築
Key-Value-Store (KVS) を用い,アーティスト名(name)から活動場所(area)を検索するためのデータベースを構築せよ.

問題60では、KVSを構築せよということで、Redisを利用しようと思います。

Redisは初めて使うDBです。

■ Redisのインストール

Macにインストールするには、homebrewを使えばいいみたいです。
$ brew install redis

で redisをインストール。以下、その処理結果。
$ brew install redis

... 省略

==> Downloading https://homebrew.bintray.com/bottles/redis-4.0.10.high_sierra.bo
######################################################################## 100.0%
==> Pouring redis-4.0.10.high_sierra.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
  brew services start redis
Or, if you don't want/need a background service you can just run:
  redis-server /usr/local/etc/redis.conf
==> Summary
🍺  /usr/local/Cellar/redis/4.0.10: 13 files, 2.8MB
いちおう成功したみたいです。あっけなくインストール完了。


■ redisの起動

では起動してみます。
インストールした際のメッセージには2つの方法が示してあるけど、2つめの方法で起動してみます。
ただし、パラメータなしで起動してみました。

$ redis-server
23134:C 21 Jul 17:20:18.729 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
23134:C 21 Jul 17:20:18.730 # Redis version=4.0.10, bits=64, commit=00000000, modified=0, pid=23134, just started
23134:C 21 Jul 17:20:18.730 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
23134:M 21 Jul 17:20:18.731 * Increased maximum number of open files to 10032 (it was originally set to 8192).
                _._
           _.-``__ ''-._
      _.-``    `.  `_.  ''-._           Redis 4.0.10 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 23134
  `-._    `-._  `-./  _.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |           http://redis.io
  `-._    `-._`-.__.-'_.-'    _.-'
 |`-._`-._    `-.__.-'    _.-'_.-'|
 |    `-._`-._        _.-'_.-'    |
  `-._    `-._`-.__.-'_.-'    _.-'
      `-._    `-.__.-'    _.-'
          `-._        _.-'
              `-.__.-'

23134:M 21 Jul 17:20:18.736 # Server initialized
23134:M 21 Jul 17:20:18.736 * Ready to accept connections

起動できたみたいです。
メッセージを見ると、
Warning: no config file specified, using the default config.
とあります。

後で、
$ ls /usr/local/etc
ってやってみたら、redis.conf ファイルが存在してました。 たぶん、これが使われているんだと思います。

デフォルト設定がどんなものかは、調べてません。今回は問題を解くことが目的なので、あまり深入りはしないことにします。 

■ Python用Redisパッケージをインストール

次に、Pythonでこのredisを扱いたいので、Python用のパッケージもインストールします。anaconda使ってるので、condaコマンドを使います。
$ conda install redis

これで、redis-4.0.10 がインストールされました。

今日はここまでとします。

----

ところで、Visual Studio Codeのバージョン1.25.1なんですが、メニューが英語表記になってしまいました。 これって日本語に戻すことできないのかな?

「Japanese Language Pack for Visual Studio Code」も入れて、"ja"に設定してるんですけどね...

まあ、英語のままでもいいか。