How Redis writes data to disk Persistence refers to the writing of data to durable storage, such as a solid-state disk (SSD). Redis provides a range of persistence options. These include: RDB (Redis Database): RDB persistence performs point-in-time snapshots of your dataset at specified intervals. AOF (Append Only File): AOF persistence logs every write operation received by the server. These oper
This document discusses messaging queues and platforms. It begins with an introduction to messaging queues and their core components. It then provides a table comparing 8 popular open source messaging platforms: Apache Kafka, ActiveMQ, RabbitMQ, NATS, NSQ, Redis, ZeroMQ, and Nanomsg. The document discusses using Apache Kafka for streaming and integration with Google Pub/Sub, Dataflow, and BigQuery
Redis不適切利用による問題は本番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとRDBと比較し驚くほど高速なプログラムを組むことができます。昨年尊敬する先輩にコードレビューで斧100本くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩き起こされました。どうやらアクセス障害みたいです。 何人かで実機確認したら、まったくゲームが遊べない。データ不整合怖いのでメンテIN。 ほどなくしてRedisが溢れメモリ不足で新規書き込みが出来なくなっていると判明。サーバのメモリ容量は64GByteでこれ以
EDIT: In case you missed it, Disque source code is now available at http://github.com/antirez/disque It is a few months that I spend ~ 15-20% of my time, mostly hours stolen to nights and weekends, working to a new system. It’s a message broker and it’s called Disque. I’ve an implementation of 80% of what was in the original specification, but still I don’t feel like it’s ready to be released. Sin
In-browser Redis 2015-01-09 Here is a proof of concept redis emscripten port I have made. It hasn't required a lot of modifications to work, which mostly are commenting out clustering, persistence, lua, sentinel and other stuff. Maybe the port has other limitations, I haven't done full testing, but basic stuff works pretty well. You can try it yourself, autocomplete commands work with the TAB key
pub/subでおしゃべり pub/subを使えば、あまり難しいことを考えなくても、Node.jsのプロセス間で通知を送り合うことができます。 そういうわけで、Node.jsのプロセスを4つ立てて、pub/subでチャットみたいなことをさせてみました。 各プロセスはpublisherでありsubscriberである。 var subscriber = require('redis').createClient(6379, 'localhost'); var publisher = require('redis').createClient(6379, 'localhost'); var userId = Math.floor(Math.random() * 10000); 各プロセスは、発言する際はpublisherであり、それ以外の場合はsubscriberになります。そういうわけで、R
矢口です。 みなさんはLinuxのtcという機能をご存知でしょうか。送信するパケットの帯域制御を行うことができる大変強力な機能で、グリーでもいくつかの用途で使用されています。 具体的な事例の一つはRedisです。Redisではreplicationを新規に開始する際やfailoverが発生しmasterが切り替わった際(特に2.6系)にストアされている全データが転送されます。しかし帯域制限をかける機能がないため、ネットワーク帯域を圧迫してしまう危険性があります。また通常のクライアントとの通信でも大量のクエリにより予想以上の帯域を使用してしまう可能性があります。このような場合にtcを用いることでRedisの使用する帯域をコントロールできます。 このように有用なtcですが残念なことに日本語/英語ともにわかりやすい解説や詳細な情報は多くありません。 私も社内において使われていたtcの設定に問題が
GoogleのSVP、Urs Hoelzleが「いま世界でもっとも人気のあるスマートフォンアプリ」と評し、Facebookによる3000億円の買収提案をスルーしたとされるSnapchat。その共同設立者でCTOのBobby Murphyが、3/25に開催されたGoogle Cloud Platform Liveに登場し、“Snapchatを支える技術”としてのGoogle Cloud Platform (GCP)の使い所や開発体制をかなり具体的に説明していたので、補足と解説を交えながらざっと意訳してみた。 SnapchatのCTO, Bobby Murphyと、GoogleのSVP, Urs Hoelzle From Google Cloud Platform Live SnapchatがGoogle App Engineを選んだ理由 "それまでいくつかの小さなプロジェクトでGoogle
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台(キャッシュ、メッセージング) 毎秒質問が投稿されているので、トップページには都度最新の質問を掲載するように更新はできないが、ユーザの回答パターン、質問閲覧パターン、好みのタ
こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました
古いキー oldname を新しいキー newname にリネームする。もし新しいキーがすでに存在する場合、上書きする。
「RedisかわいいよRedis」(by typester)……というほど自分は Redis 期でもないのですが、最近 Redis を使ったサービスの面倒を見ていて時々レスポンスが悪化する現象に出会ったので調べました。 前提 使用しているのは Redis 2.4.16 です。 redis.conf に "save [t] [n]" を定義すると、最後に save をしてから [t]秒間に [n]個以上の key が更新された場合に background で save (=bgsave) が実行されます。 save 60 10000これだと、60秒間に 10,000 keys です。 bgsave では redisは自分自身のプロセスを fork() し、子プロセス側は自分のメモリに乗っている内容をファイルにすべて書き出します。 この仕組みによって、1プロセス 1スレッドで動作している re
いわゆるNoSQLがRDBMSを完全に駆逐することはたぶんないと思うけど、NoSQLの登場によってMySQLでは実現し難かった機能がつくれるんじゃないか、と思う今日このごろ。なのでNoSQLプロダクトは1つずつ触ってみて、特徴を把握することが大事だと思ってる。ということでまずはRedis。 インストール MacBook Airにインストールなので、Homebrewで。 $ brew install redis あとはインストール後に案内された通りに、下記コマンド実行すればセットアップ完了。 $ mkdir -p ~/Library/LaunchAgents $ cp /usr/local/Cellar/redis/2.4.8/homebrew.mxcl.redis.plist ~/Library/LaunchAgents/ $ launchctl load -w ~/Library/Lau
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 はキーと値のペアからなる辞書を実装した非常にシンプルなデータベース
起動モード設定¶ daemonize(yes/no)¶ デフォルトではRedisは通常のプログラムとして動作します。必要に応じて 'yes' を設定してください。デーモンとして動作する場合は、Redisはpidを /var/run/redis.pid に書き込みます。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く