タグ

redisに関するackintoshのブックマーク (4)

  • Redisの水平分割をうまくやるジャストアイデア

    Redisをのせているサーバのリソースが逼迫したときに取る戦略の1つとして、水平分割という方法がある。 この水平分割は、データの偏りや、再分割をうまくやろうとすると困難が伴い、泥臭く運用をやる必要がある。 しかし、最初から、クライアントコード上で水平分割の数を決め打ちして扱うと楽になるのではないか?と考えた。 たとえば、サービス開始時には、Redisに将来分割するであろう超大量のユーザIDをキーにしたデータを格納するとして、クライアントは、キーを32分割して扱うようにし、それをすべて1つのRedisに入れてしまえば良い。 メリット:分割しやすくなる。 Redisサーバ数を1から2へ分割するときは、まず、Redis AからRedis Bへレプリケーションを構築して、クライアント上で32分割しておいたキーを、16づつ振り分ける設定をして、レプリケーションを停止する。そうするだけで、サーバリソー

    Redisの水平分割をうまくやるジャストアイデア
  • Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム | 株式会社サイバーエージェント

    2. システム概要 homingは、アメーバピグ関連サービスのいずれかにログインしているユーザに対して、各サービスの通知情報を横断的にプッシュ通知します。 システムの構成は以下の通りです。 図2-1. システム概要 2-1. APIサーバ ユーザへの通知要求を受け付けるREST fullなAPIを備えたWebサーバです。 Node.jsのClusterによる、master/worker構成で稼働します。 通知要求はワーカプロセスで処理します。 図2-2. APIサーバ 2-2. Redisサーバ(データストア用) 一時的なデータをストアするためのRedisサーバです。 sentinelプロセスによる、master/slave構成で稼働します。 ストアされたデータはメモリ上のみで管理し、ディスクへの書き込みは行いません。 以下の情報を管理します。 ユーザのオンライン情報 ユーザIDの索

    Socket.IO, Redisを使用し各ゲーム間でプッシュ通知するシステム | 株式会社サイバーエージェント
  • ムック「データベース徹底攻略」 - MySQL/Redis/MongoDB/Redshift

    最近発売された技術評論社のムック「データベース徹底攻略」に寄稿しました。 このは、データベースのためのということで、データベース設計、SQLMySQL、Redis、MongoDB、Redshiftという代表的な要素技術についてのまとめとなっています。各プロダクト(MySQL、Redis、MongoDB、Redshift)については、現場で実際に格的に使われている方々による記事なので大いに参考になると思います。 私は冒頭のまとめ記事を寄稿しました。詳細はぜひお手に取って読んでくださればと思います。ここでも自分が各技術を現時点でどのようにとらえているか、ではいささか書きづらい内容について、最近流行りの言葉でもある「技術的負債」という観点も踏まえて書いておこうと思います。 ・MySQL (RDBMS) 私はMySQLの中の人でもありましたし、これまで至るところで話してきたので省略します

  • FluentdとRedisを使ったランキング機能の実装 | SmartNews開発者ブログ

    ゴクロの大平です。ごくろうさまです。 Redisは高速で、かつデータの永続化や、複数のデータ型によるストア(list,set,sorted set等)も対応しており、機能的が豊富ということから愛用者の多いKVS実装の一つだと思います。 特に私のようなアプリケーションエンジニアの人間にとってはデータ型のバリエーションの豊富さが便利さを感じる部分で、たとえばlistを用いてタイムライン的な情報や履歴情報の管理、sorted setを用いてランキング情報の管理、などのようにアプリケーションの需要の多くにRedisが対応することができます。 これらの情報を登録する際のフローとしては自作のアプリケーションから直接、というケースが多いと思いますが、せっかくFluentdのような便利なlog collector実装があるので、FluentdとRedisを組み合わせる事でカジュアルに情報の蓄積を行いたい

  • 1