タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

lockとRedisに関するoinumeのブックマーク (2)

  • Redis による分散ロック — Redis Documentation (Japanese Translation)

    Redis による分散ロック¶ 異なるプロセス同士が、相互に排他的な方法で共有リソースに対して操作を実行する、という環境において、分散ロックは非常に役に立ちます。 Redis を使った DLM (Distributed Lock Manager) の実装については、多くのライブラリやブログポストがあります。しかし、ライブラリごとに異なるアプローチがとられており、またその多くは、より複雑なデザインと比較するとシンプルで、そのぶん保証される内容が低いアプローチとなっています。 このページは、Redis 上で分散ロックを実装するにあたり、標準的なアルゴリズムを提供することを目指すものです。私たちはここで Redlock と呼ぶアルゴリズムを提供します。これは DLM 実装の一種で、よく見かけるような、ひとつのインスタンスを使うアプローチよりも安全である、と私たちは考えています。コミュニティがこの

  • 『Redisとハサミは使いよう』

    ロック機能のポイントはSETNXです。 指定したキーがなかった場合は値をセットして1を返し、 既に存在する場合は何もせず0が返ってきます。 つまり、1はロック成功、0は他からロック済みと判断することができます。 それでは実装に進みましょう。 まずロックのインタフェースを用意します。 public interface Lock { public void lock() throws TimeoutException; public void unlock(); } 最低限のロックとアンロックを用意しました。 続いて中身を実装します。 public class RedisLock implements Lock { private static final String LOCK_KEY_PREFIX = "lock:"; private static final int LOCK_EXPIR

    『Redisとハサミは使いよう』
    oinume
    oinume 2014/03/13
    まさにこういうことやろうとしてたわ...
  • 1