タグ

redisに関するhidemailのブックマーク (12)

  • Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD

    (訳注:2016/3/2、頂いた翻訳フィードバックをもとに記事を修正いたしました。) Railsアプリでのキャッシングは、「たまに夕を一緒にするけれど、当はもっと頻繁に一緒にいるべき友達」に少し似ています。パフォーマンスをまじめに考えるRailsアプリのほぼ全てで、もっとキャッシングを使えるはずですが、ほとんどのRailsアプリでは、完全にキャッシングを避けています。それでも普通は、Railsで高速なサーバ応答を達成するための唯一の道は、キャッシングの知的な利用なのです。約250msの応答時間を、簡単に50~100msに高速化できます。 定義についての注意 ― この記事は、アプリケーション層のキャッシングのみを対象としています。HTTPキャッシング(これは全く別の難物で、あなたのアプリケーションに実装する必要はありません)は、別の機会で扱いましょう。 するべきキャッシングをしない理由

    Railsアプリを66%スピードアップ ― Railsキャッシュの完全ガイド | POSTD
  • Rails.cache と Redis::Store と Rack::Attack - takatoshiono's blog

    自分用メモ。 遭遇した問題 Rack::Attack で redis に保存したデータに有効期限が設定されない namespace を定義した時だけ問題が発生する 結論 Redis::Store が古かった。1.1.4 を使っていたが、有効期限系のメソッド(expire, setex, ttlなど)が namespace に対応したのは 1.1.5 からだった 調査方法 コードを読んだ。 Rails.cache Rack::Attack はデフォルトでは Rails.cache を使うことになってるのでここから始める。 Rails で config.cache_store = :redis_store すると Rails.cache として Redis::Store を使うことができる。コードは以下を見るとわかる。 Rails::Application::Bootstrap の initi

    Rails.cache と Redis::Store と Rack::Attack - takatoshiono's blog
  • Redis 本番障害から学んだコードレビューの勘所

    Redis不適切利用による問題は番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとRDBと比較し驚くほど高速なプログラムを組むことができます。昨年尊敬する先輩にコードレビューで斧100くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩き起こされました。どうやらアクセス障害みたいです。 何人かで実機確認したら、まったくゲームが遊べない。データ不整合怖いのでメンテIN。 ほどなくしてRedisが溢れメモリ不足で新規書き込みが出来なくなっていると判明。サーバのメモリ容量は64GByteでこれ以

    Redis 本番障害から学んだコードレビューの勘所
  • Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT

    平素よりQA@ITをご利用いただき、誠にありがとうございます。 QA@ITは「質問や回答を『共有』し『編集』していくことでベストなQAを蓄積できる、ITエンジニアのための問題解決コミュニティー」として約7年間運営をしてきました。これまでサービスを続けることができたのは、QA@ITのコンセプトに共感をいただき、適切な質問や回答をお寄せいただいた皆さまのご支援があったからこそと考えております。重ねて御礼申し上げます。 しかしながら、エンジニアの情報入手方法の多様化やQAサービス市場の状況、@ITの今後のメディア運営方針などを検討した結果、2020年2月28日(金)15:00をもちましてQA@ITのサービスを終了することにしました。 これまでご利用をいただきました皆さまには残念なお知らせとなり、誠に心苦しく思っております。何とぞ、ご理解をいただけますと幸いです。 QA@ITの7年間で皆さまの知識

    Rails で、Controller に定義されている action を一度に取得する方法はありますか? - QA@IT
  • Resque、SidekiqからSucker PunchまでActiveJobのバックエンドについてひと通り調べてみた | 割り箸ポテチ

    ActiveJobのバックエンドと、永続化先としてRedisが好まれる理由Rails 4.2で、ActiveJobというクラスが導入されました。 これ以前より、Railsで非同期処理を行う際にはResqueやSidekiq、Delayed Jobなどが広く使われていましたが、 ActiveJobはジョブを記述するためのインタフェースを抽象化して、 ジョブの実装を変えること無くジョブランナーを切り替えることを可能にするものです。 なおActiveJobにおいては、バックエンドを指定しなければジョブは非同期実行しようとしても即座に実行されます。 Rails 4.2.0時点では、ActiveJobのバックエンドとして以下のページにある9つのいずれかを使用できます。 ActiveJob::QueueAdapters Backburner Delayed Job Qu Que queue_class

  • Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ

    先月投稿した2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャを学ぶ道のりと代表的な実装モデルの概要を紹介しました。 今回は、前回同様、主に新卒Webエンジニア向けに、Webアプリケーションサーバとデータベースサーバ間の接続管理モデルと運用事情について紹介します。 データベース接続の永続化やコネクションプーリングとは何なのか、なぜ必要なのかといったことが主な話題です。 背景 データベース接続の永続化とはなにか データベース接続のオーバヘッド データベース接続の永続化手法 コネクションプーリングとはなにか コネクションプーリング: ドライバ型 コネクションプーリング: プロキシ型 コネクションプーリング全体について PostgreSQLMySQL 参考資料 まとめ 背景 2015年Webサーバアーキテクチャ序論では、Webサーバアーキテクチャの話とWebアプリケーショ

    Webシステムにおけるデータベース接続アーキテクチャ概論 - ゆううきブログ
  • 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 のスケールアウトを実現する方法
  • KOSHIGOE学習帳 - [KVS][Redis] Redis コマンド一覧

    Redis で利用可能なコマンドを、公式ドキュメントからメモ。 CommandReference - redis - Project Hosting on Google Code 注記 ドキュメントの完全な和訳を目指している訳ではなく、メモを取りつつコマンドの概要をつかむ事が目的 原則として、コマンドのサンプルは、先頭から順に行ったものとする サーバに格納されているデータは、各コマンドのセクション間で引き継ぐものとする 引き継いでいない場合は、サンプル中でデータを準備するところから行っている コマンドリファレンスの引数の記法(意味)は、説明文中に補足がない場合は以下の通り <key> = キー <bytes> = 送信するデータのバイト数 <data> = 送信するデータ(String) <srckey> = 操作元のキー <dstkey> = 操作先のキー <member> = 操作対象

  • GitHub - rickyrauch/Balloons.IO: Balloons.IO is a web multi-room chat server and client ready to use. It’s built with the help of node.JS, Express, Socket.IO and Redis. Balloons uses PassportJS for authentication with Twitter and Facebook

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - rickyrauch/Balloons.IO: Balloons.IO is a web multi-room chat server and client ready to use. It’s built with the help of node.JS, Express, Socket.IO and Redis. Balloons uses PassportJS for authentication with Twitter and Facebook
  • むしろ駄菓子屋さんで | redisとnode.js

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

  • GitHub - redis/node-redis: Redis Node.js client

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - redis/node-redis: Redis Node.js client
  • ももクロスライダー作ったよ。(Redisを使ったアプリをHerokuに置く) 第一弾 - from scratch

    この前のNode学園でRedisを使ったアプリが多いのと、社内勉強会でRedisの話が出てきたので、試しにRedis使って何かアプリで実践してみようと思いやってみました。 Redisというのは危険なほど速いと噂のインメモリKVSです。memcachedと同じような感じですが、永続化ができること、memcachedよりも高速であること、pub/subという通知機能がある事が特徴です。 あと、せっかくだから最近ハマっているももクロの画像を流すアプリでも作ってやれ、という下心もプラスして作りました、「ももクロスライダー」 ももクロスライダー yosuke-furukawa/momoclo-slider · GitHub ももクロスライダーの中身は Node.js + Redis + socket.ioになっています。 twitpicから #momoclo の付いた画像を持ってきて、Redisへ一

    ももクロスライダー作ったよ。(Redisを使ったアプリをHerokuに置く) 第一弾 - from scratch
    hidemail
    hidemail 2012/08/09
    redisのクライアント認証
  • 1