Deleted art本番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとコードレビューで斧100本くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩
Redisの作者antirez氏自らによる、memcachedとRedisの長所短所の比較。特に、Redisを単なるキャッシュ用アプリケーションとしてmemcachedと比較することの間違いと、それぞれの向いている使用方法についての私見。 あなたが私と面識があるなら、私が競合製品があることが悪いと考える人間でないことはご存知でしょう。ユーザーに選択肢があることは本当にいいことだと思っていますし、だからこそ他の技術とRedisを比較するようなことはほとんどしませんでした。 しかし、最適なソリューションを選ぶためには、ユーザーは正しく情報を持たねばならないのも確かです。 この記事を書くのは、有名なライブラリであるSidekiqの作者として知られるMike Perhamが、Redisのバックエンドストレージとしての使い方を書いた記事を読んだのがきっかけです。従って、私はMikeがRedisに「反
はじめに 実際に運用していた時に非同期にしていた主な処理は下記のようなものがあります。 iOS Android の push 通知の送信処理 ログの作成 様々な外部 em 他にも Ruby で非同期処理を実現できる有名な gem には resque や delayed_job 等がある。 sidekiq.org Enterprise版等もありますが、 今回はOSS版を使用している前提でのお話しです。 他の非同期処理が可能な gem との簡単な比較 FAQ · mperham/sidekiq Wiki · GitHub この内容は結構真実を語っていることを最近知った Sidekiq Redis マルチスレッド リトライ処理あり おしゃれなダッシュボード Resque
検索エンジン自作入門 ~手を動かしながら見渡す検索の舞台裏を読んでみたところから続く検索してみるシリーズ。 過去に転置インデックスを利用して検索してみるといったエントリを書いてJavaScriptのハッシュで構成された転置インデックスを利用して検索を試みていたが、このままだと永続化できないのでredisを用いて永続化してみた。 node.jsでredisを扱う場合はnode_redisを利用するのがよさそうなのでnpm経由でインストール。 $ npm install redis --save 使い方はそのままの形なので先のgithubのREADME.mdを参照すれば特に支障なく利用できるかと思う。 基本的にはredisのコマンドがそのままメソッドとして実装されているので、見た感じそのままである。 今回は転置インデックスをredisに格納するにあたって、以下の方法で実装してみた。ここはひとま
皆様におかれましては、WEB+DB PRESSの最新号のRedis特集は既にご覧頂いたかと存じます。 弊社では1年ほど前から広告配信に関する様々な部分でRedisを使っています。まだ2.4系なので、2.6の新機能とか新鮮でした。 本番環境でRedisを運用する上で、強く訴えたい注意点は「
https://www.youtube.com/watch?v=rP9EKvWt0zo 1 comment | 0 points | by WazanovaNews ■ comment by Jshiike | 約1時間前 TwitterのYao Yuが、大規模サービスのキャッシュにおいてRedisを活用する取組みについて紹介しています。 1) Redisを採用している理由 キャッシュだけで、ストレージとしては利用していない。 主なところでは、Twitterのタイムラインで利用している。ホーム画面であれ、ユーザ画面であれ、タイムラインはTweetのインデックスなので、key/valueストア型のRedisを利用するケースとして最適。 以前はmemcachedを使っていたが、問題になったのは、タイムラインでおきるread/writeは、(ユーザが閲覧している範囲に追加反映するということなの
こんにちわ、ミツバチワークス stoneです。 今回は、redisシリーズ第3弾、実際にredisをサービスの投入してみて、うまく行かなかった事例についてご紹介します。 redisの使用用途 今回、いくつかあるセッションデータのうち2つをMySQLからredisへ移行させました。 これらのセッションデータ、MySQL上では、セッションIDの他に複数のカラムから構成されているのですが、redis上では、この複数のカラムをserialize()して、 key(string) => value(string) という形で格納するようにしました。 ちゃんとソースコードで確認はしていないのですが、memcachedでも、TTLが設定できますが、TTLを過ぎたデータを監視してクリアしていないですよね。 また、memcached内部のslabの構成次第では、TTLまでデータが保持されずに、データがクリア
Twilio というサービスで決済サービスの障害があったらしいが、恐しいことにこのサービス、 決済情報をRedisで管理していたらしい、というのをRedis作者、antirez氏のblogで知った。 Twilio incident and Redis - Antirez weblog この件に関しては、Twilio自体も 調査報告 を出している。簡単にまとめるとこういう感じだ: TwilioではRedisを single-master, multi-slave なレプリケーション環境で使用している ネットワーク障害で一時的に master-slave 間の接続が切れたことにより、master-slave間のデータの再同期が発生 この再同期がすべてのslaveに対して同時に発生したため、masterの負荷が高くなり、結果決済サービスの障害が発生 この負荷を解決するためmasterを再起動する
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インスタン
こんにちは! JQです。 前回は『OSS編~Puppetでサーバ設定管理②~』と題して、サーバ設定管理ツールのPuppetでマニフェストを詳しくを触ってみました。 今回は『ElastiCache編~Redisを試してみる①~』と題して、ElastiCacheでRedisを試してみたいと思います。 Redisとは Redis(Remote dictionary server)はインメモリのKey-Valueストアです。 ElastiCacheの構築 1. Cluster起動 RedisでElastiCacheを起動します。 Statusが「avaliable」になれば完了です。 2.接続確認 接続するクライアントツールをインストールします。 $ sudo yum -y install gcc $ sudo wget http://download.redis.io/redis-stable.
Amazon SageMaker Geospatial Capabilities Now Generally Available with Security Updates and More Use Case Samples At 2022, we previewed Amazon SageMaker geospatial capabilities, allowing data scientists and build, train, and deploy ML models using geospatial data. Geospatial ML with Amazon SageMaker supports access to readily available geospatial dat
facebookの上に出てくるようなお知らせ機能を作成するために、 redisを用いて実装をしてみたのでメモ。 お知らせ機能の作成方法、redis-objectsの使い方の参考になれば。 プッシュ機能の実装ではないのでご注意を。 詳しいGithubで。 環境 Ruby 2.0.0 Ruby on Rails 4.0.2 Redis 2.8.9 redis(gem) 3.0.7 redis-objects 0.9.1 要求 まず前提として要求の確認をしておきます。 未読お知らせ件数は日をまたいだ全てのものをカウント お知らせの内容、未読既読は日毎に管理 redis-objectsのインストール 以下の行を追加して
Redisでランキング機能を実装してみる - (゚∀゚)o彡 sasata299's blog を自分がやったらこんな感じかなと思って書いてみました。実行環境はRuby 2.0.0-p0です。 #!/usr/bin/env ruby require 'redis' require 'pp' class Leaderboard class Entry attr_reader :user_id, :score, :rank def initialize(user_id, score, rank) @user_id = user_id @score = score @rank = rank end def inspect "#<#{self.class} user_id:#{user_id}, score:#{score}, rank:#{rank}>" end end def initiali
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く