AWS ElasticCache 『Redis』を使う(後編)


前回は AWS ElasticCache の Redis を使う(前編) にて AWS マネージメントコンソールから Redis を作るところまでやりました。今回はいよいよ Redis エンドポイントに アクセスして、Redis にデータを格納してみたいと思います。

EC2 → Redis サーバーという流れで接続しますので、まずは EC2 を一つ準備します。次にコマンドライン操作するために EC2 上で以下を実行します↓

yum install gcc    //コンパイラを入れます
wget http://download.redis.io/redis-stable.tar.gz    //Redisツールをダウンロード
tar xvzf redis-stable.tar.gz
cd redis-stable
make
src/redis-cli -h redis-test.*****.0001.apne1.cache.amazonaws.com -p 6379    //←自分のエンドポイント

 

すると、 Redis へ接続されて、コマンド操作することが出来るようになります

redis-test.****.0001.apne1.cache.amazonaws.com:6379>       //← Redis のプロンプト

 

あとはこのまま set/get でデータを出し入れできます( ˆᴗˆ )

redis-test.****.0001.apne1.cache.amazonaws.com:6379> set one "ONIGIRI"
OK
redis-test.****.0001.apne1.cache.amazonaws.com:6379> set two "SALAD"
OK
redis-test.****.0001.apne1.cache.amazonaws.com:6379> get one
"ONIGIRI"
redis-test.****.0001.apne1.cache.amazonaws.com:6379> get two
"SALAD"

 

その他、set/get 以外に良く使う Redis コマンドを個人的に抜粋してみました↓
(※わかりやすいように Redis コマンド部分を大文字にしています)

//すべてのキーを表示
KEYS *

//複数のレコードを同時に登録
MSET three "RAMEN" four "UDON"

//複数のレコードを同時に取り出す
MGET three four

//一つのキーに複数のバリューを追加する(= List型)
RPUSH mylist orange grape melon

//List からすべてのバリューを取り出す
LRANGE mylist 0 -1

//一つのキーに複数のバリューを追加する(= Set型)
SADD set1 A B C D

//Set からすべてのバリューを取り出す
SMEMBERS set1

//Set 同士を結合表示する
SUNION set1 set2

//Set 同士を結合し、共通部分だけ表示する
SINTER set1 set2

//Set 同士を結合し、差だけを表示する
SDIFF set1 set2

//バリューにハッシュを登録する (= Hash型)
HSET student name YAMADA

//ハッシュを取り出す
HGET student name

//バリューに複数のハッシュを登録する
HMSET student name SATOH age 18 score 90

//複数のハッシュを取り出す
HMGET student name score

//キーをソートする
SORT age

//キーを逆順でソートする
SORT age DESC

//キーをリミットしてソートする
SORT age LIMIT 0 3

//キーがどのタイプなのか調べる(String, List, Set, Hashなど)
TYPE set1

//既存の value に文字を追加
APPEND one "-OKAKA"

//既存の value を表示しつつ新しい value をセット
GETSET two "GOMA-SALAD"

 

いかがでしたか?今日は Redis にデータを出し入れするところまでやりました。ElastiCash で Redis 専用サーバーを作らずとも、EC2 に Redis をインストールして Redis サーバーとして使うこともできます。
もっと Redis に詳しくなりたい人は Redis 公式サイト も覗いてみてください。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>