Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに 今までなぁなぁにしてきたRedisをいまさらながらに勉強してまとめました。 Redisって聞いたことあるけど中身はよく知らないとか、プロジェクトでなんとなく使っているけど実はよく分かっていないなどの人向けのページです。 NoSQL Redisの前にまずはNoSQLから。 背景 ビッグデータの登場により、従来のRDBだけでは充分な処理ができなくなってきたことがNoSQL登場の背景にある。 ビッグデータの定義は色々ありますが、ここでは3V(Volume/Velocity/Variety)を満たすものをビッグデータと呼びます。 VolumeとVelocityの問題を解決するためにNoSQLが必要 Volume(大量データ)とVelocity(秒単位で大量データ)に関する問題を対処する場合、スケールアップ(メモリ増加、コア数増加、SSD化)とスケールアウトの2通りの方法がある。 しかしな
Reddieとは 2017年8月17日にbeta版がリリースされた、マネジメントツール(公式的にはcompanion app)。 https://get-reddie.com/ twitter: https://twitter.com/ReddieApp 何が出来るのか トップページに動画のデモがあるので、それを見てみるのがオススメです またDEMOページでは、実際に動かすことも出来ます Redis Clusterのmaster-slaveを可視化できる Drag&Dropでslaveの付け替えが出来る 新規にnodeを追加できる Web上から全nodeの設定変更が出来る Web上からリシャーディングが出来る Web上からSLOWLOGが見える 死活監視やメモリやNW IOなどのリアルタイム可視化 個人的嬉しポイント 認証付きのRedis Clsuterにも対応している 公式のredis-
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? redis 4.0 GA release ついに昨日(2017/07/15)に、redis 4.0のstableがリリースされました。 今までのredisと何が変わったのか?というのを、軽くまとめたいと思います。 間違いなどありましたら、指摘いただけると幸いです。 前回のqiita記事 プロダクションで2年間RedisClusterを運用してみて release notes 一部抜粋すると Note that 4.0 is probably one of the most extreme releases of Redis ever m
ジャポルノレディーズであいまい検索が最も役だったのが名寄せでした。 ジャポルノレディーズでは基本的に動画は全て他のエロサイトへのリンクで提供しているので明日花キララさんの動画を探す上で他のエロサイトから明日花キララさんの動画を探す作業が必須です。 しかし問題は ・エロサイト毎に明日花キララさんのアルファベット表記がバラバラ という事でした。 エロサイトAではasuka_kirara エロサイトBではasuka_kilala エロサイトCではashitaka_kirara ・ ・ ・ という感じ。うちではasuka_kiraraでデータを持っているので、当然asuka_kilalaと名前のついている動画もasuka_kiraraの動画としてデータを保存したい!という訳です。 そこであいまい検索が役立ちます。 まずは普通のmatchクエリでasuka_kilalaを検索します。 # codin
Happy Elements 株式会社 カカリアスタジオ Advent Calendar 2016 19日目の記事です。 概要 自分の所属チームのアプリではユーザーランキングの実装に Redis の Sorted Sets を使用しています。Redis についての基本的な解説は別の記事に譲り、この記事ではそのスクリプティング機能(EVAL コマンド)を使った実装について紹介します。 Sorted Sets でランダムにメンバーを取得する 以下のような状況を考えます。(架空の設定です) 100万人のユーザーがそれぞれ自分のスコアを持っており、それによってリアルタイムにランキングされています。スコアはユーザー同士のバトルによって変化します。例えば自分より大きなスコアのユーザーに勝利すれば自分のスコアが大きく加算され、小さなユーザーに勝利すれば小さく加算されます。対戦相手の選択には自分と同程度の
Herokuで Redis / Postgres を運用していると、定期的にメンテナンスを求められることがあるのでそのあたりのメモ。 メンテナンスの影響について メンテナンスは大抵元と変わりなく動作することが多いが、メンテナンスの前後で以下のような現象が生じることがある。 DB/Redis の接続情報が変わることがある? DBについてはバックアップのスケジューラ設定が飛ぶことがある? まれに…というレベルのものなので、障害なのか、どうなのかわからないが、接続情報に関しては変わった瞬間障害になるレベルなので、しっかり環境変数からパースするようにしておきたい。 スケジューラの設定について Premium以上のプランでは、メンテナンスを指定の曜日・時間で行うよう設定することが可能なので、コレを利用しておくと休日にメンテが走って…といったトラブルを未然に防ぐことが出来る模様。 Heroku Pos
表示速度の高速化が趣味のzaruです。こんにちは。今回はRuby on Railsで作られた弊社Webサービスの表示速度を約5倍ほど速くしたので、何をしたのかをまとめました。Railsの高速化手法はいたるところで語られていますが、気にせず行きます。 前提や結果など アーキテクチャとしてはわりと一般的な AWS ELB -> nginx -> Unicorn / MongoDB という構成です。 |改善前|改善後 ---|---|--- Ruby|2.1|2.3 Rails|4.1|- MongoDB|2.6|3.2 Redis|2.4|3.2 Ruby・MongoDB・Redisのバージョンアップ、Railsもバージョンアップしたかったけど依存ライブラリの関係で据え置きになりました。 |改善前|改善後 ---|---|--- ページ読み込み速度|8.49sec|1.69sec 秒間リクエス
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 概要 RedisClusterのチュートリアルを読みつつ疑問を解消していく。 Redis自体がシンプルな仕組みなこともあり、ドキュメントを読むだけでおよそ理解できるものと思われるので、下手な追加説明はあまりしていません。 以下、引用の箇所は筆者が和訳したもの、それ以外が筆者のコメントになります。 Redis cluster tutorial このドキュメントはRedisClusterについて書かれています。 distributed systemのコンセプトを簡単にまとめたものになります。 どうやってクラスタを構成し、テストし、運用するか
「ソート済セット型」すげえいい。 これね 「入れ子区間モデル」が超容易かつ効率的に実装できる。 んでもって、これね。リンク先に書いてない「入れ子区間モデル」の凄いところをひとつ挙げておこう。それは、ある枝の配下のノードを「乱択」するアルゴリズムが書けるのだ。 あと、これは元々RDBSで入れ子区間モデルが有効な理由でもあるのだが、操作する区間ごとにロックをかけられるのが素敵なのだ。 これだけ書いただけでも、鋭い人は判ってくれると思う。 まあ、Redisにツリー構造を入れるなら、このやり方がベストだと思うわけよ。ただね、ちょっと弄ってみた結果、子ノードが指定された時の親ノード獲得の効率が悪いところが気になる。あと、親ノードを特定するまで、まともにロックがかけられないのもイタイ。だから、隣接リストモデルを兼用して親を得る必要があるときにはそっちを参照する方が良いかもしれない。 後でちゃんと書く。
さて、まずは仮想コードだ とりあえず、仮想コード的に考え方だけ書いておく。 時間が空いたらJavascriptで書き直す。 時間は大して空いてはいないものの、春アニメが一段落した隙間で何とか書いてみた。色んな実装の方法が有りうるが、下記に示したように、writerlockが予約できるような形にしたほうがいい。というのは、readerlockの波状攻撃が止まず、いつまでもwriterlockが獲得できない、という事件が起きうるからだ。(それでも、C++でマルチスレッドだったら、まず短時間のspinlockを試してみてから離散的なポーリングをするようにしておけば、かいくぐれたりするのだが、Node.js想定なので) 実装は単純明快で、基本的にINCR族のコマンドとGETだけで実現できる。INCR族がアトミックだというのは素晴らしいね。ただ、実装が単純な代わりに、readerlockの同時獲得数
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く