タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

redisに関するkarupaneruraのブックマーク (19)

  • RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING

    ! This post is also available in the following languages. 英語, 韓国語 みなさんこんにちは、LINE LIVE開発のYappoです。 今回は先日リリースされました一般向けのPC配信機能を実装するときに作った簡易的な遅延実行Queueについて書いていこうと思います。 関連エントリ:LIVE PRESS 公式ブログ – ゲーム実況にもぴったり!LINE LIVEでPC横型ライブ配信を試してみよう 背景 今までのLINE LIVEでの配信方法としては、アプリ上で直接配信する方法と、公式アカウント向けの専用画面(LINE OFFICIAL ACCOUNT MANAGER)とRTMPソフト(もしくは専用機材)を利用してPCからの配信する方法がありました。 この2つの方法は全く違う仕組みで実装されるように見えますが、実は基となる設計は同じで

    RedisのSorted Setsで簡易的な遅延実行Queueを作って迅速にLINE LIVEのPC配信対応をリリースした話 - LINE ENGINEERING
    karupanerura
    karupanerura 2017/06/23
    あたまいい
  • Redis::Fast の reconnect について - KAYAC Engineers' Blog

    この記事は tech kayac advent calendar 9日目の記事です。 インフラチームの @tkuchikiです。 最近検証した Redis::Fast の reconnect について紹介します。 Redis::Fast とは Redis::Fast は、弊社 @shogo82148 作の高速な perl の Redis クライアントです。 社内の perl で書かれたアプリケーションは、Redis を使う場合、ほぼこのモジュールを使っています。 なぜ reconnect を考慮しないといけないのか Redis Sentinel や ElastiCache for Redis を使い、フェイルオーバーできる冗長構成を組んだ場合のことを考えます。 Master がダウンした際、自動で Slave を Master に昇格してくれるためダウンタイムが短くて済みます。 この場合、

    Redis::Fast の reconnect について - KAYAC Engineers' Blog
    karupanerura
    karupanerura 2015/12/10
    Redis::Fast愛用しております
  • [release] Redis 3.0.0 is out. - Google グループ

    Google グループでは、オンライン フォーラムやメール ベースのグループを作成したり、こうしたフォーラムやグループに参加したりすることで、大勢のユーザーと情報の共有やディスカッションを行うことができます。

  • Redis のメモリが足りなくなった時にどうやってチューニングしたか - Qiita

    Redis は便利なのですが、メモリが半分しか使用出来ないという問題が有ります。 非同期でファイルの書き込みを行う際に、メモリのスナップショット(コピー)を取るために、その分の空きメモリが必要なのです。 ここに Redis のソースコードのコメントを翻訳したものを置いておきます。 今回、メモリの空きが足りなくなったのは、準永続的な情報用のサーバと利用している物で、簡単に消すことは出来ませんでした。 そこで Redis のメモリダンプを解析し、利用していないキーの削除やデータ型の変更を行うことにしました。 メモリの解析 メモリダンプはそのままでは人間には理解不能なので、ローカルにdump.rdbファイルをコピーし、 Rdbtools を利用してCSVに出力し、そこから必要なデータに整形しました。 $ rdb -c memory dump.rdb > redis_memory.csv # バイ

    Redis のメモリが足りなくなった時にどうやってチューニングしたか - Qiita
  • Redis 2.8 の Sentinel の動きを検証してみた - chrone's external storage

    Redis 2.8 の redis-sentinel によるレプリケーションの自動フェイルオーバーについて、 比較的発生しそうな障害を想定して動作検証してみました。 結論から redis-server の自動再起動を構成している場合は要注意。 daemontools とか。 Master が落ちた後すぐ(例えば数秒)に再起動してきた場合、 再び Master としてレプリケーションに参加します。 よって、Master 再起動の前後でデータに差異があった場合でも、 再起動後のデータをもとに同期される為、データが破壊される可能性があります。 これを回避する為には、Sentinel により sdown/odown として認識されるのを待ってからインスタンスを復帰させるようにします。 復帰が早すぎると、障害(sdown/odown)ではなく再起動(reboot)と認識します。 レプリケーションの再

  • Redis勉強会資料(2015/06 update)

    Redis勉強会の資料です。2013年に初版をアップしました。2015年6月にRedis-Clusterの内容を追記して再アップを行っています。Read less

    Redis勉強会資料(2015/06 update)
  • http://antirez.com/misc/RedisConf2013.pdf

  • Redisのメモリ設定とファイル設定のdiff取るスクリプト書いた - Perl勉強メモ アルパカDiary出張版

    ※2013/07/25 スクリプトと概要をUpdateしました 次期バージョンであるRedis 2.8ではこの問題を少しでも解決しようと、 CONFIG REWRITE というコマンドで、redis.confの書き換えを行えるらしい、 が、結局それを忘れたら同じことなのでこの問題の解決にはなるかは微妙なところだ。 メモリ上にしか反映されていない設定があるかどうかをなんらかの方法でチェックすることができれば監視するなどできると思うのだが…。 http://unknownplace.org/archives/twilio-redis-incident.html 書き捨てっぽいですが、差分をとるスクリプトをペロッと書いてみました。 概要 以下のようなことをしています。 値が空のキーはデフォルト値を設定 単位(K/M/G)を最小単位に戻す メモリ上のキーを正とします*1 メモリにのみキーが存在する

    Redisのメモリ設定とファイル設定のdiff取るスクリプト書いた - Perl勉強メモ アルパカDiary出張版
  • TwilioのRedisによる決済サービスの障害、2つの原因 - unknownplace.org

    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を再起動する

  • RedisのLuaで時間のかかる処理をするとどうなるか? - (ひ)メモ

    Redis は基的にシングルスレッド、イベントドリブンモデルなので、時間のかかるLua スクリプトを実行したらどうなるかというのは想像に難くないのですが確認してみました。 Redis は 2.6.14 です。 redis-cli eval 'while true do print("hello") end' 0な感じのを実行します。 実行中に、別クライアントから GET, INFO, PING すると全てブロックされて結果が返ってきません。 redis.conf で lua-time-limit 5000 と設定している場合は、5秒後に redis-server のログに [18068] 22 Jul 13:51:23.798 # Lua slow script detected: still in execution after 5000 milliseconds. You can t

    RedisのLuaで時間のかかる処理をするとどうなるか? - (ひ)メモ
  • GitHub - SawdustSoftware/disredis: Distributed Redis. Can be used in place of a StrictRedis client. Enables real-time failover of redis masters to paired slaves for improved reliability.

    ======================== Distributed Redis client ======================== Distributed Redis Client (disredis) to enable real-time failover of redis masters to paired slaves, providing improved availability and reliability where needed. The DisredisClient class can be used in place of a StrictRedis client. Instead of passing the host and port in, pass in a list of Sentinel addresses in the form of

    GitHub - SawdustSoftware/disredis: Distributed Redis. Can be used in place of a StrictRedis client. Enables real-time failover of redis masters to paired slaves for improved reliability.
  • おそらくはそれさえも平凡な日々: Redis::LeaderBoardっての書いてた

    https://github.com/Songmu/p5-Redis-LeaderBoard https://metacpan.org/module/Redis::LeaderBoard RedisのSorted Setがランキング作るのとかに便利だよーってのは今や多くの人に知られるところですが、 同率問題とかがめんどくさかったりするので、その辺解決したやつを書いてみました。 というか、このへんみなさん個別に書いてると思うんですけど、色々めんどくさくなってカッと なってCPANに上げました。Synopsis丸コピですが、以下のような感じで使います。 use Redis; use Redis::LeaderBoard; my $redis = Redis->new; my $lb = Redis::LeaderBoard->new( redis => $redis, key => 'lead

    karupanerura
    karupanerura 2013/06/07
    cool!!!
  • Redisを使ったレコメンド機能の実装 - maaash.jp

    それRedisでできるよ、期でしょうか。 最近Redisでレコメンド機能をつくってみたのでご紹介です。 ここで”レコメンド機能”というのは、 Amazonでいう”この商品を見たお客様はこれも見ています”や、ブログの関連記事を出す機能のこと。 user:1がproduct:Aをみたときに、product:Aに似ているproduct:Bをレコメンドしたい。 product:Aとproduct:Bがどれくらい似ているか:類似度 を算出した後は、 Redis得意のSorted Setを使って類似度のランキングをつくれば 似ているproductを出すことができます。 類似度の算出にはいろいろ方法があるようですが、 Redisのデータ構造と相性のよい Jaccard [wikipedia]という方法を使いました。 この例に適用すれば、 product:Aを見たユーザー群(RedisのSet)と、pro

  • おそらくはそれさえも平凡な日々: Cache::Redisってのを書いたら意外と大変だった件

    最近Redis使うのは当たり前で、開発とかテストでmemcachedすら立てるのめんどくさくて、なるべくRedisに寄せたいと思っている。 セッションストレージもRedisで良くねって思って、ArkだとCache::Cacheなインターフェースのモジュールがあれば簡単にセッションストレージを差し替えられるようになっているので、Cache::Redisってのを書いた。 先のエントリーでも書いたとおり データに対するメタ情報をRedisの場合もたせられないので、[$data, $flags] って データを作ってそれ毎まるっとシリアライズするという乱暴な作りになっている。 なので、ストアされているデータをredis-cliとかで読もうとしても読めないのが難点。 redis-cliで読めるように値をRedisのリスト型にして持たせることも検討したけど、普通に setする場合と比べて大分遅くなって

  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

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

  • redisのmaster-slave構成で考えるべきことの話 - diary

    結論 Redisは2.6を使おう master-slave構成を取る場合はclient-output-buffer-limitをちゃんと意識するべき 概要 redisはエッジトリガ型のnon-blocking I/Oを用いてシングルスレッドでソケットの読み書きをぶん回す構造で書かれています。 よってclientやslaveへ対してのreplyを行う際も、ソケット自体の送信バッファが溢れた際(EAGAINが帰った際)には一度イベントループに処理を戻し、またソケットが書き込み可能になってイベントループが自分を呼んでくれた時に続きをwriteします。 まあnon-blocking I/Oなんだから当たり前なんですが、送信処理を再入可能にするためにredisはアプリケーションレベルで出力バッファを持っています。 これは送信が終わり次第適宜解放されるものの、write自体が間に合わなくなると詰まって

    redisのmaster-slave構成で考えるべきことの話 - diary
  • Redis の SortedSets 同点問題について - blog.nekokak.org

    WEB+DBのRedis特集をひろせまさあきさんと共同で執筆しました。 WEB+DB PRESS Vol.73posted with amazlet at 13.03.05設樂 洋爾 白土 慧 奥野 幹也 佐藤 鉄平 後藤 秀宣 mala 中島 聡 堤 智代 森田 創 A-Listers はまちや2 大和田 純 松田 明 後藤 大輔 ひろせ まさあき 小林 篤 近藤 宇智朗 まかまか般若波羅蜜 Mr. O 技術評論社 売り上げランキング: 335 Amazon.co.jpで詳細を見る 買ってください。 このRedis特集の第五章では、Redisを使ったリアルタイムランキングについて取り上げたのですが、 記事中にある同点問題について、執筆時から状況が変わりましたのでupdateします。 記事中では、RedisのSortedSetsはスキップリストというアルゴリズムを使っている特性上、 同じス

  • Redis 2.6 is near, and a few more updates

    Redis 2.6 was expected to go live in the first weeks of 2012, but today is 24th of February and there are still no 2.6-rc1 tags around, what happened to it you may ask!? Well, for one time, a delay is not a signal that something is wrong. What happened is simply that we put a lot more than expected inside this release, so without further delays here is a list of new features: Server side Lua scrip

    karupanerura
    karupanerura 2012/05/01
    組み込みのLuaスクリプトで(?)MessagePackとJSONがサポートされるらしい。アツい。
  • 『redis、それは危険なほどのスピード』

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

    『redis、それは危険なほどのスピード』
  • 1