読者です 読者をやめる 読者になる 読者になる

年の功より亀の甲

カメがプログラミングとか技術系について書くブログです。

redisお勉強話 for 2016 part2【ころなとサリー AdventCalendar 2016/12/5】

みんな大好き、ころなだよ('ω')
今年のredis記事2つめになるよ('ω')ノ

redisで集合(SET型)に関するコマンドで遊ぶよ('ω')

集合って何?

「高校とかで習うベン図を表現する型」だけど、きちんとしたお話しはgoogle先生に聞いてみることをお勧めします。
Google

redisでは、データを入れておく型の一つとして、集合を使用することができます。
これは、sqlにはなくてredisにある特徴的で便利な部分なので、これから触ってみます。

集合に要素を追加するよ

f:id:sakuriver:20161204235511p:plain

corona-s-keyというキーにnemumiという一個目の要素を追加しました。
確認をするために、smembersというコマンドでcorona-s-keyの中身を確認すると、nemumiが登録されているのがわかります。

追加した要素を削除するよ

f:id:sakuriver:20161205000945p:plain

corona-s-keyに追加した、nemumiをsremで削除しています。
削除後は、要素を取得するsmembersでもnemumiが取得できないのがわかります

ちょっとだけ、ベン図っぽいことするよ

f:id:sakuriver:20161205001803p:plain

要素の追加と削除だけだと、リストとの違いが分からないと思うので、集合っぽい処理をやってみました
corona-s-keyとsry-s-keyに要素を追加して、差集合を求めています。

f:id:sakuriver:20161205002919p:plain

今回のベン図についてのイメージ

カードゲームでよくある「新しいコンボ」、「なくなるコンボ」なんかは差集合使えば一発で取得できそうだなーという感じです
ベンリー('◇')ゞ


感想

redisの集合型は、追加、削除、取得に加えて、差集合や和集合などに対応した命令があるのはWebアプリ以外でも使えそうだなという印象でした。
次回は、ハッシュ型についてコマンドを試しながら勉強していきます('ω')

12/6はさりーさんから完成したゲームの報告について続編になります、楽しみにしていてください