タグ

Redisに関するseikennのブックマーク (17)

  • Redis 本番障害から学んだコードレビューの勘所

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

    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の索

  • WordPressでKVSのRedisを導入 | ミライハック

    WordPressではNginxでプロキシキャッシュを効かせても、どうしても必然的にMySQLDBへのSELECTが発生してしまいます。DB接続は致命的に遅い。何とか速度向上ができないかと思って、いま流行りのKVS(Key Value Store)のRedisを導入してみました。KVSの中でもmemcachedやkumofs、okuyamaなども検討したのですが、今回は一番流行っているKVSのRedisにしてみることにしました。 WordPressでRedis WordPressへのRedisの導入はいたって簡単です。openSUSEの場合は、以下のコマンドでサーバーにRedisが導入できます。 $ sudo zypper install redis CentOSの場合、remiやepelの拡張レポジトリを追加することで、yum isntallができます。 $ sudo yum inst

    WordPressでKVSのRedisを導入 | ミライハック
  • FluentdとRedisを使ったランキング機能の実装 | SmartNews開発者ブログ

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

  • Redisを使ったランキング機能の実装

    2013/05/29 DevLOVEさんイベント

    Redisを使ったランキング機能の実装
  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました

  • Redis布教活動報告 ISUCON 編 - unknownplace.org

    最近 Test::RedisServer とかもろもろつくっててばれてるかもしれませんが、だいぶ Redis 期にありまして、最近の趣味は?っていう問いにはだいたいRedisのソースを読むことですってなくらいなのですが、 memcached とかシンプルな KVS と比べるとだいぶ機能が豊富なので使い方を迷ったりとかそういう事例もあり、周りにもう少し使える人を増やさなければ僕の書いたコードが属人化しててつらい感じになるなーっていうわけで、 布教活動をおこなっておりまして、その一環として ISUCON2 に参加してきましたのでその報告です。 livedoor Techブログ : #isucon2 リアルタイムフォトレポート 更新終了 前回の優勝チームに混ぜてもらった感じでだいぶついてる感じもしますが、見事連覇を果たせ、懇親会でも redis redis と連呼してきたのでだいぶ興味持った方も

  • Redis 使ってみました。

    会社に転がってた、↓ のをつらつらと眺めていて 今まで、よくわかっていなかった NoSQL という物に興味が湧いてきました。 上記のは、そろそろ出揃った感のある NoSQL 系のデータストアエンジンを一通り並列に紹介してくれるで、見て、軽くわかった気になるには最適です。 ただ、結局のところ、いつも使っている SQL と何が違うのかまでは読んだだけでは充分に理解できないよね、やっぱり試してみなくちゃね、という事で、使ってみました。 NoSQL と言えども、データストア!データを保存しなくては。入れるデータの元ネタに困りましたが、困った時は他人のふんどしを借りようと Twitter から適宜引っ張ってくる事にしました。キャズムを越えたらしいという噂の Twitter から URL を含んだツイートを引っ張りだして集計したら、世間で話題になっているネタが拾えそうかなと。誰かが勝手にデータを

  • 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 のスケールアウトを実現する方法
  • 『redis、それは危険なほどのスピード』

    どうも、プラットフォームDivでエンジニアをやっている Wataru です。 最近3人目の子供が産まれて、産後自宅勤務をさせてくれた弊社はとてもいい会社だと思います。出産予定のあるエンジニアのかたは是非弊社に転職を。 さて、今回はRedisの紹介をさせて頂きたいと思います。 Redisってすごくマイナーなわけではないのですが、めちゃくちゃ便利なのにあまり注目されていないなーという印象があるので、これを機会に是非使ってみてもらえると嬉しいです。 Redisって何?Redisとは「remote dictionary server」から名前が付けられたオープンソースのkey-valueデータストアです。 MemcacheDB等のKVSとの最大の違いは、格納するバリューがデータ構造というところです。 つまり、リスト・セット・ハッシュなどのデータ構造で格納できるのでバリューに対してアトミックな操作が

    『redis、それは危険なほどのスピード』
  • Command reference – Redis

    Vector search Learn what you need to go from beginner to GenAI expert Get started

  • KOSHIGOE学習帳 - [KVS][Redis] Redis コマンド一覧

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

  • 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 はキーと値のペアからなる辞書を実装した非常にシンプルなデータベース

  • [Python][Redis]Redisに保持する為替レートと株価のデータ設計

    時刻または日付を保持するList型Key-Value 1.の時刻または日付をKeyとして各銘柄の価格を保持するHash型Key-Value 時系列データ保存時にはListに時刻をLPUSHし、LPUSHした時刻をKeyとしたHashのHashKey=銘柄名(TICKER等)とHashValue=価格をHMSETで保存する。 RedisのList型ではLRANGEというコマンドがあり、開始と終了のINDEX(左から0,1,2...n)を指定してやれば直近何個分という取り方が容易になる。上記「TIME_IDX」を全件取得する場合にはINDEXを0~-1という指定してやれば全件取得できる。 なお処理時間は以下の通り。 この設計だと「時系列データの件数+1回」のgetが走ることになるので今後データが増えた場合にどうなるか監視する必要がありそう。 LRANGE(全件=約35,000件):0.5-0.

    [Python][Redis]Redisに保持する為替レートと株価のデータ設計
  • redisの実用例。redis速いよredis

    こんにちは!hiroshiです! 今回は、最近DECOLOG界隈で大ブームのredisについて、その利用用途や導入方法についてお話ししたいと思います。 今回のお話と関連する過去エントリに以下がありますので、こちらに目を通していただいた上でエントリを読んでいただくと分かりやすいと思います。 NoSQL redisとMySQLのベンチマーク比較 redisのサービスへの投入 redis導入後にトラブル発生、そのレポート DECOLOGでのMySQL Archiveエンジンの使い方 …と、これまでのエントリからは実運用できてるのかどうか微妙なタッチになっているかもしれませんが、結論からいうと実運用できてます! 「redis導入後にトラブル発生、そのレポート」ではTTLを設定した場合にうまくいかないケースがあったのですが、TTLなしのデータでは特に問題なく運用できました。 現在のredisの利用

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

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

  • ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp

    運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します⁠。個別にライセンスが設定されている記事等はそのライセンスに従います。

    ニコニコ生放送に見る Redis 活用ノウハウ 記事一覧 | gihyo.jp
  • 1