タグ

redisに関するfjwr38のブックマーク (26)

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

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

  • 開発のお手伝いボット Hubot で定期処理を自動化しよう!

    はじめに ダニーです。2年ぶりの登場です。 今回はHubotについて書きます。 Hubotとは 絵はisshie作です。 githubが作ってるbotフレームワークです。 http://hubot.github.com 何ができるのか HipChat, Skype, IRC, その他チャット系のツールでbot用のユーザーを作成して、Hubotがそのユーザーとしてチャットにログインします。 そのユーザーにコマンドを話しかけると、Hubotがそのコマンドに応じた処理をして結果をbot用のユーザーがチャットで発言することで返してくれます。botなので定期的になにか発言したり、呼びかけに対してなにか自動で答えるというようなことができます。 何が嬉しいのか 普段の開発で定期的にやることなどをコマンドとして作成しておくと、そのコマンドをチャットで話しかけることでHubotが自動で処理してくれるようにな

    開発のお手伝いボット Hubot で定期処理を自動化しよう!
  • Redisのpub/subを使う。

    pub/subで他のプロセスに通知を送れる pubというのはPublishのことで、subというのはSubscribeのことです。発行と購読とでも訳せばいいんでしょうか。 まず、Redisに「Subscribe(購読)します」と事前に宣言しておきます。続いて、Redisに対して「HogeHogeをPublish(発行)します」と誰かが言うと、すぐにSubscribeしている全てのプロセスに通知が発行されます。 何か更新があった際に、他のプロセスや他のサーバに簡単に通知を送れるので、いろいろと使い道は多そうです。 Node.jsからRedisを使えるようにする。 npmでredisのパッケージをインストールし、Node.jsからRedisを使えるようにします。 $ npm install redis npm http GET https://registry.npmjs.org/redis

    fjwr38
    fjwr38 2014/02/12
  • Resqueで複数サイトにまたがるクローリングを最適化しよう | VASILY DEVELOPERS BLOG

    どうも。バックエンドエンジニアの吉田です。 前回は1サイトをクロールする際の最適化戦略としてRedisベースの分散ロック機構を使った実例を紹介しました。 前回の記事:Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう 今回は複数サイトに対する処理をResqueを使って最適化した事例を紹介したいと思います。 ※ランダムにキューをlistenする話の予定でしたが、話がとっ散らかるので主題を変更しました。 主なキーワードとしては、「Resqueのキュー分割」、「Rubyでクラス定義を動的生成」といった感じです。 おさらい 前回使った図を使います。 iQONのクローラーは、提携サイトの商品一覧から商品ページのURLを取得し、ページをダウンロードする処理(fetchフェーズ)を必要な数だけWorkerプロセスとして起動しておき、Resqueを使って処理をして

    Resqueで複数サイトにまたがるクローリングを最適化しよう | VASILY DEVELOPERS BLOG
  • Stack Overflowのアーキテクチャ - ワザノバ | wazanova

    http://www.youtube.com/watch?v=OGi8FT2j8hE1 comment | 0 pointsドイツのハンブルグで開催されたDeveloper Conference 2013で、Stack Overflowのアーキテクチャが紹介されてます。 Stack Overflowのネットワークは、110 Q&Aサイト、430万ユーザ、質問760万件、回答1360万件、月間5億6千万ページビュー サーバ25台: ウェブサーバ11台(内9台でほぼトラフィックさばく)、ロードバランサ1台 (+ 予備1台)、DBノード4台、アプリサーバ3台、検索サーバ3台(Elasticsearch)、Redisサーバ2台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ

  • fluent-plugin-redis-publishのご紹介

    このエントリはFluentd Advent Calendar 2013の18日目のエントリです。社内引きこもり系のものぐさエンジニアがパブリックなAdvent Calendarに記事を書くなんてまぁめずらしい! さて、今日は何の話かというと、fluent-plugin-redis-publishというプラグインの話です。作者はtypesterなんですが、rubygems.orgにアップロードしたのはhisaichi5518です。なんでそんなことになっているかというと、話は1ヶ月半ほど前に遡ります。もともとこのプラグインは社内で生まれて1年前くらいから普通にバリバリと使っていました。 hisaichi5518: fluent-plugin-redis-publish ってrubygemsにないんですか acidlemon: ない 言われるまで気付かなかったけど、1年以上使ってるのにgithu

    fluent-plugin-redis-publishのご紹介
  • RedisをRubyから触ってみた - ごろねこ日記

    前回、多機能高速なキーバリューストアRedisをインストールして、体ソースについてきたクライアントで値を保存したり取得したりしてみました。 前回の記事 今回は同じ事をRubyからやってみたいと思います。 あと、最後の方でRuby+Redisでツイッターのタイムライン的なものを表現してみたり。 インストール ライブラリはgemで提供されています。 $ gem install redis使い方 Redis.newでオブジェクトを生成して、あとはRedisのコマンド(http://redis.shibu.jp/commandreference/index.html)にならってメソッドが実装してあるようです。 ローカルホストの標準ポートでRedisが動いている場合 redis = Redis.new ホストとポートを指定する場合 redis = Redis.new(:host => "10.0.

    RedisをRubyから触ってみた - ごろねこ日記
  • Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう | VASILY DEVELOPERS BLOG

    はじめまして。バックエンドエンジニアの吉田です。 2013年5月末の入社以降、大量のEC2インスタンスのVPC移行を担当した後、今はiQONの商品DBを支えるクローラーの改善に取り組んでいます。今回はその改善の1つとして開発したRedis::DistMutexという分散ロック機構のruby実装を紹介をしようと思います。 Redis::DistMutex 開発の経緯や細かい設計の話は後述するとして、まずはつくったgemの紹介をします。 Redis::DistMutex Redisベースの分散ロック機構 rubyのライブラリにあるMutex互換 スレッド間だけでなく、プロセス間・ホスト間でも共有できるMutex 時限つきロックの作成が可能(redisのsetnxとexpireを活用) namespaceを指定できるので、特定の処理ごとにロックの作成が可能 redis2.6以上のみサポート(1秒

    Redis::DistMutex – 時限付き分散ロックで効率良くサイトクロールをしよう | VASILY DEVELOPERS BLOG
  • td-agent の in_tail プラグインを使っている際に対象ログがローテーションする瞬間を見たい - ようへいの日々精進XP

    きっかけ ということで、td-agent(fluentd) のin_tail プラグインでログのローテーションをどのように捕捉して追従していくかを調べたい やってみた 下記の環境においてクライアントから apache に ab でアクセスさせて確認する。 確認したいこと td-agent を介してログを記録している状況において、ログローテーションが発生した場合に td-agent はログの切り替わりを知って、それに追従するか。 純粋に access.log ファイルに記録される内容(件数)と td-agent を介した記録内容(件数)に際が発生ないか。(ちょっとした負荷テスト的なことも) 環境 サーバー Debian 6.0.7 Apache/2.2.16 (Debian) td-agent 0.10.35 redis 2.6.14 クライアント Ubuntu 13.04 ab 2.3 A

  • fluent-plugin-redis-publish | RubyGems.org | your community gem host

    RubyGems.org is the Ruby community’s gem hosting service. Instantly publish your gems and then install them. Use the API to find out more about available gems. Become a contributor and improve the site yourself. RubyGems.org is made possible through a partnership with the greater Ruby community. Fastly provides bandwidth and CDN support, Ruby Central covers infrastructure costs, and funds ongoing

  • Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(1) - Tech Blog

    CTOの椎名アマドです。 今回は、Pairyのチャットデータを全てRedisからAmazon DynamoDBに移行した話をしたいと思います。 我々が 2012年6月に カップル専用アプリ Pairy をリリースした時には、 データベースは MySQL と Redis の両方を利用するところで始めました。 Redis の役割は: 1. MySQLレスポンスのキャッシュ 2. プッシュ通知等のキュー 3. チャットのデータを全保管 サービスローンチ直後はまだ Appサーバー(EC2)1台と、MySQL & Redisを両方走らせてる DBサーバー(EC2)1台で十分だという判断で、しばらくはそんな構成でやってました。(S3などは省略) しかし、いざサービスが成長してくるともちろん MySQL & Redis を1台でまかなうのはキツくなり、MySQL と Redis を別々のEC2インスタン

    Pairy : チャットデータを Redis から Amazon DynamoDB に全移行した話(1) - Tech Blog
  • むしろ駄菓子屋さんで | redisとnode.js

    対象読者 node.js/npmはインストール済み macなどの*nixを持っている redisはよくわからない redisのいいところ 小さい! 持ち運びしやすい! 良い意味で何もない! 純粋KVSより少し豊かなほどよい甘み 簡素ですので、パフォーマンスなどに関して色々「狙いやすい」 あの、express作者さんもよく使ってらっしゃいますよ 僕みたいなコンシューマーゲーム難民に是非オススメしたい、組み込み系の薫りとwebっ子っぽいカジュアルな感覚が同居したシンプルDBとなっております。 redis体 ダウンロードページから最新版(この文章を書いている時点では2.4.4)をダウンロードして、下記のように一行makeと打てば終わりです。 make 続けてインストールするか否かはお任せします。この段階で、「展開ディレクトリ/src/redis-server」がありますので、起動しておきます。

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

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

  • Bitbucket

    fjwr38
    fjwr38 2013/09/21
    Go製DB
  • いまどきのカジュアルなデータベース関連開発

    profile id: Songmu (ソンムー) Masayuki Matsuki http://www.songmu.jp/riji/ https://metacpan.org/author/SONGMU カヤック技術部ソーシャルゲーム事業部 二年半ソーシャルゲーム漬け 今年新たに上げたCPANモジュール Riji Puncheur DBIx::Schema::DSL Cache::Redis Config::PL Redis::LeaderBoard DBIx::FixtureLoader SQL::Maker::Plugin::JoinSelect Teng::Plugin::SearchJoined Git::Repository::FileHistory GitDDL::Migrator UnazuSan Plack::Middleware::Woothee Plack::Mi

  • RubyのレコメンドエンジンRecommendifyを試してみる - さかなチキンぱん。

    以前ユーザー毎のアクセス履歴を、Googleアナリティクスに記録する為のライブラリmeron.history.js を書いた。 今回はこの記録された履歴を利用して、このブログの各エントリー毎のオススメ記事を算出してみたい。 使ってみたのはRubyのレコメンドライブラリRecommendify。 Redisを利用してコメンデーションする為、軽快に動作するのが売りなライブラリらしい。 手順は次の通り GoogleアナリティクスのCore Reporting API からアクセス履歴を取得 アクセス履歴を元にRecommendifyでレコメンドする レコメンド結果を表示 前提として事前にmeron.history.jsである程度の期間、ユーザーのアクセス履歴をトラッキングして置く必要がある (Core Reporting APIの利用には、前回の記事GoogleアナリティクスAPIの承

  • Michael Matuzak「@antirez一問一答(Redisクリエータ)」 - 以下斜め読んだ内容

    Lambdaphant 2010.10.12のエントリ Interview with Salvatore Sanfilippo Michael Matuzak。誰? Y!(inc.の方)のエンジニア、JS.LAの人 更新2014.11.5 「スタートアップ戦略は?」「海外の流行りのサービスを国内最速でパクる」とか、思春期はプログラミングのことを完全に忘れてたとか、redis以外の話も面白い 再読してちょいちょい修正 以下斜め読んだ内容 今回インタビューしたSalvatore Sanfilippoのこと antirezの方が通じるか redisクリエータ 2010年始めにVMwareにjoin フルタイムでredis開発するため 補足 2013年からはredisのスポンサーはPivotal、antirezもそっちにjoin Redis Sponsors – Redis Q:プログラミングを始

    Michael Matuzak「@antirez一問一答(Redisクリエータ)」 - 以下斜め読んだ内容
  • 第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp

    前回までに、Redisの概要と、コマンドラインクライアントによる基的なコマンド操作を見てきました。今回からは、Redisのデータ型を使ったアプリケーション開発について、簡単なサンプルコードと、ニコニコ生放送での事例を交えて紹介していきます。 クライアントライブラリを用いた開発 WebアプリケーションからRedisにアクセスするには、言語ごとのクライアントライブラリを導入することになります。公式サイトにライブラリがリストアップされていますので、各々の環境に合ったものを探してください。 ニコニコ生放送では、PHPによる開発の場合にはphpredisを、Javaで実装している検索サーバーなどではJedisやJRedisを使っています。 今回から掲載するサンプルコードでもこれらのライブラリを使っていきますので、他のライブラリを導入される方はそれぞれ対応するAPIに置き換えてご覧ください。 LIS

    第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp
  • Redisでランキング機能を実装してみる - (゚∀゚)o彡 sasata299's blog

    2013年04月24日13:26 NoSQL Ruby Redisでランキング機能を実装してみる Redis を触ってると楽しくてニヤニヤしてしまう今日この頃です、こんにちは。 読み書きのパフォーマンス的には memcached とよく似てる感じかなーと思いますが、データが消えない(永続化)、さまざまなデータ型を持っていて用途によって使い分けられる、データ操作がアトミック、など、Redis には魅力的な特徴があります。 今回は Redis を使ってちょっとしたランキング機能を実装してみる話でも書いてみます。 Redisの環境準備 まずは Redis をインストールします。Mac だったら homebrew を使うと良いでしょう。 $ brew update $ brew install redis Redis の起動自体は非常に簡単で、このコマンドを実行するだけです。 redis-serv

  • moco(beta)'s backup: SQLiteとRedisでランキング(ソート)の速度を比較してみる

    SQLiteとRedisは、(RDBとKVSというデータ・モデルの違いはあれど、)どちらも軽量・高速・操作が簡易・機能豊富で、小規模~中規模なデータを扱うアプリケーションで使うには、魅力的なプロダクトです。 ランキング(ソート)するならどっちが速いんだろう、、、と思い簡単な速度比較をやってみました。 【前提とする要件など】 キーに対して複数のバリュー(メンバー)が紐付き、スコア値をもつアプリケーションは各キーに対してスコア値の高い上位10件を検索するキー 10万件、1つのキーは数十件のバリュー(メンバー)をもつ。キーに対するバリューの数は不定。総データ規模は数百万件程度。とりあえず、参照のみを想定(更新は非常に少ないか、1回/日程度のバッチ更新で実施する)とりあえず、シングルスレッドからのアクセスを想定(同時接続数は1)アプリケーションとDBは同じサーバ内に配置というシナリオです。 【環境