タグ

redisに関するstarsky5のブックマーク (9)

  • Redis の Pub/Sub を使って Node.js + WebSocket のスケールアウトを実現する方法

    Node におけるスケールアーキテクチャ考察(Scale 編)というエントリーを読んで、RedisはPub/Sub型通信をサポートしているという事を知りました。エントリーでも言及されているように、Pub/Subを使えば Node.js + WebSocket サーバをスケールする際に、中継サーバの役割を果たす事が出来るはずです。 そんな訳で実際に Node.js と Redis を使って Pub/Sub の実験を行なってみました。ユーザが別々のNode.jsサーバに接続していてもWebSocketを通してメッセージのやり取りを出来るようにします。 イメージとしてはこんな感じです。 下準備# Ubuntuの場合は apt-get で1発でインストールする事が出来ます。 $ sudo apt-get install redis npmでredisモジュールをインストールします。 $ npm i

    Redis の Pub/Sub を使って Node.js + WebSocket のスケールアウトを実現する方法
  • Resqueを利用したRailsでの非同期処理/バッチ処理

    Railsアプリケーションの中で非同期処理(バッチ処理)を実現したいことがあります。例えば、こんな場合です。 ユーザーが「送信」ボタンを押したら数千通のメールを送る。 数千通のメールを送るにはかなり時間がかかるので、その処理は後回しにして、ユーザーにはすぐにレスポンスを返したいところです。 非同期処理を行うためのRubyライブラリとしてはBackgrounDRbやdelayed_jobなどが有名ですが、もう一つ有望な選択肢としてResqueというのがあることを最近知りました。 と言っても、私が知らなかっただけで、RubyGems.orgによれば11万回以上もダウンロードされている有名なライブラリです。昨年(2010年)1月に書かれた、あるブログ記事には詳しい評価が載っています。 以下、私の試用報告を書きます。なお、OSはUbuntu 10.04(LTS)、Railsのバージョンは3.0.5

  • 機能的には、File<Redis<RDBS  気軽さはその逆 - When it’s ready.

    そろそろKVSからRDBSへの回帰が起こっている今日この頃。季節も恐るべし速度で冬化して暖房や冬服が必要な時期ですね。 データの永続化にはいろんな方法がありますが、redisのご紹介です。Fileでは機能的に物足りなくてRDBSだと作業が重すぎるそんな要件たくさんありますよね?ね? sqliteとかでもいいかと思うんですが、冗長性に疑問符が付いたりするわけです。そこでredisはいかがでしょうか? ubuntuであれば aptitude install redisでインスコ終了です。設定もあまりするところはないです(良くも悪くも) 相当数の各種言語Bindingもあるので、あなたのご使用の言語でも利用出来るはずです。 Ruby Python PHP Erlang Tcl Perl Lua Java Scala Clojure C# C C++ Javascript IO Haskell G

    機能的には、File<Redis<RDBS  気軽さはその逆 - When it’s ready.
  • RailsでResque使い始めた - Masatomo Nakano Blog

    これとこれの続き。この後、もう少し調査して、Resqueを実際のシステムの一部で使い始めてみたのでその感想とメモ。 前回までのあらすじ Resqueはバックグラウンドでジョブの実行をするもので、かなりの大規模サイトでかつ更新系の処理が多そうなシステムであるGithubで開発され使われている。よくある使い方としては、「Web UIを軽く見せるため、処理の依頼だけを受け付け、実際の処理はバックグラウンドで実行」「バッチ処理などで、大量のJobをQueueに突っ込んでおいて、(複数の)workerで並列で効率よく処理」などがある。 不安なところ Resqueの大きな特徴は、QueueをRDBMSではなくRedis上に作るところにある。Redisは、Memcacheのようにシンプルに使え、すべてのデータはメモリ上に展開されるのでとても速く、データはディスク上にも永続化されるので、何かあったときにも

  • ケーススタディ — redis 2.0.3 documentation

    Note 英語家のページは、 PHPを使って説明 説明していますが、このページではPythonと Tornado を使ったチュートリアルに変えてあります。 Bitbucketの リポジトリ に、このチュートリアルのファイル一式が含まれています。 tutorial/retwis/ フォルダを自分の作業フォルダにおいて、 retwis_start.py に、これから説明する内容を追加で実装していってください。なお、実力に自信のある方は、PHPRubyの参考実装だけを見ながら、 RegisterHandler や、 FollowHandler クラスもPythonに移植してみてください。 また、 @yssk22 氏がnode.js版を実装してくれました。これもリポジトリの中に入っていますので、興味のある方はこちらのファイルの内容に読み替えてください。 RedisとPythonを使ったシンプ

  • redisドキュメント日本語訳 — redis 2.0.3 documentation

    翻訳について¶ このドキュメントは、RedisのWiki(http://code.google.com/p/redis/wiki/)の内容を参考にしながら、構成などはSphinxに合わせつつ翻訳しています。また、必要に応じて、配布物の中のファイルなども引用しながら訳しています。

  • redis 使ってますか? - Twisted Mind

    redis という KVS 知っていますか? 自分は名前は知ってはいるけど ... 程度の認識だったのですが、新しいサーバを買った際、んーやっぱり社内で簡単に VM 上げたり下げたり出来る環境が欲しいなぁと思っていたところ @shibukawa から OpenStack いいよという話を聞いてドキュメントを呼んでいたら Redis を使っていると書いてあったので、へーと興味津々になって調べてみたら ... メイン開発者2名は VMware がスポンサーになってフルタイムで redis の開発をしているというわけです。こらなんとまぁと。 そして色々ドキュメントを呼んでいたらなかなか素敵な KVS で、自分が欲しい KVS にたどり着いた感じです。 redis - Project Hosting on Google Code 魅力 日語訳 redisドキュメント日語訳 redis v2.0

    redis 使ってますか? - Twisted Mind
  • blog.katsuma.tv

    前回「Mac OSXにredisをインストール」で、redisを動かす環境まではできたので、せっかくなんでテスト的に何かサービスを作ってみよう、ということでTwitterクローンのRedTweetを作ってみました。 RedTweet redisを使ったTwitterクローンは、PHP版のRetwisと、それをSinatraで書き直したRetwis-RBがあるのですが、サンプルコードはいくらっても世の中に少しは役立つだろうと思ってRails版で実装してみました。オンラインで動作できる環境はないので、git cloneしてscript/serverで手元の起動で確認ください、、と投げやり気味ですみません。とりあえず次の項目は一通り実装しています。 ユーザID発行 Login / Logout Follow / Remove 自分のTimeline, Public Timeline, 各ユーザの

  • KOSHIGOE学習帳 - [KVS][Redis] Redis 概要

    Key-Value Store の Redis について、公式サイトの README を参考に概要をつかむためのメモ(ほぼ、簡易な訳のみ)。 redis - Project Hosting on Google Code README に入る前に、プロジェクトサイトのトップページに書かれている特徴から、いくつか抜粋。 Posix システム向けに ANCI-C で書かれている 対応言語 Ruby (+) Rack::Session と Rack::Cache を Redis に対応させたものもある (+) DataMapper の Redis 用アダプタがある Python Twisted Python PHP Erlang Tcl Perl Lua JAVA Scala Clojure Redis はデータベース Redis はキーと値のペアからなる辞書を実装した非常にシンプルなデータベース

  • 1