Redis アプリケーションパターン
TIME rest time current/total
TopicsPlaceHolder

Redis アプリケーションパターン

Hatena社内勉強会

Mar 31th, 2016

Mackerelの"View Alert"の仕組み

Gmailが勝手にパースしてる系と、htmlメール送る側が所定のフォーマットを送る方法がある。 Mackerelの場合は後者。

やること

  1. HTMLメール内に所定のmicrodataかld-jsonを埋め込む
    • Githubはmicrodataだった
  2. Googleに申請
    • https://developers.google.com/gmail/markup/registering-with-google#registration_guidelines
    • schema.whitelisting+sample@gmail.com にサンプルメールを送信
    • Gmail Schema Whitelist Request のフォームから申請
  3. メールのやり取り

Redis アプリケーションパターン

Redis

http://redis.io/

Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and message broker

個人的に気をつけていること

strings

普通のKV

> set mykey somevalue
> OK
> get mykey
> "somevalue"

incr

> set counter 100
> OK
> incr counter
> (integer) 101
> incr counter
> (integer) 102
> incrby counter 50
> (integer) 152

排他制御

> SET lockkey "aaa" NX EX 30

lockkeyというキー名で排他的に30秒間セット。

Sorted Set

ソート済みセット

便利さの代名詞としてよく使われる

> zadd hackers 1940 "Alan Kay"
(integer) 1
> zadd hackers 1957 "Sophie Wilson"
(integer) 1
> zadd hackers 1953 "Richard Stallman"
(integer) 1
> zadd hackers 1949 "Anita Borg"
(integer) 1
> zadd hackers 1965 "Yukihiro Matsumoto"
(integer) 1
> zadd hackers 1914 "Hedy Lamarr"
(integer) 1
> zadd hackers 1916 "Claude Shannon"
(integer) 1
> zadd hackers 1969 "Linus Torvalds"
(integer) 1
> zadd hackers 1912 "Alan Turing"
(integer) 1

利用用途

Set

集合

Setは便利

例: 直近1時間のログインユーザーの集合が取りたい

List

リスト

ジョブキューとかに便利

Pubsub

時間切れ