タグ

redisに関するknj2918のブックマーク (30)

  • RedisとElastiCacheを分かりやすくまとめてみた - Qiita

    はじめに 今までなぁなぁにしてきたRedisをいまさらながらに勉強してまとめました。 Redisって聞いたことあるけど中身はよく知らないとか、プロジェクトでなんとなく使っているけど実はよく分かっていないなどの人向けのページです。 NoSQL Redisの前にまずはNoSQLから。 背景 ビッグデータの登場により、従来のRDBだけでは充分な処理ができなくなってきたことがNoSQL登場の背景にある。 ビッグデータの定義は色々ありますが、ここでは3V(Volume/Velocity/Variety)を満たすものをビッグデータと呼びます。 VolumeとVelocityの問題を解決するためにNoSQLが必要 Volume(大量データ)とVelocity(秒単位で大量データ)に関する問題を対処する場合、スケールアップ(メモリ増加、コア数増加、SSD化)とスケールアウトの2通りの方法がある。 しかしな

    RedisとElastiCacheを分かりやすくまとめてみた - Qiita
  • Redisのsetnxを使ってマルチサーバ環境での Web API ロック機構を実現する | DevelopersIO

    「これ、同時にリクエスト飛んできた場合って、どうなるの?」 「2つ登録されちゃいますね…」 はじめに Web APIは、リクエストを受け、処理を終えた後レスポンスを返します。モバイルアプリやウェブアプリとセットで開発しているとつい忘れがちになってしまいますが、同時に同じリクエストが飛んできた場合にどういう挙動をするか ということは常に考慮しておかなくてはなりません。「UI上同時にリクエストが送れないから問題なし」では Web APIの設計が不十分です。別の端末から同時に同じリクエストを送ることも可能ですので、UIとは切り離して考えるべきです。 さて、この状況、GETリクエストについては大きな問題にはならないでしょう。いくらリクエストが来てもサーバ側の状態に変化はないので、負荷対策だけしておけば大丈夫そうです。問題はPUTリクエストやPOSTリクエストといった、サーバ側のリソースに変化を及ぼ

    Redisのsetnxを使ってマルチサーバ環境での Web API ロック機構を実現する | DevelopersIO
  • redis の SETNX, SETEX, PSETEX はもういらないらしい - nekootoko3’s blog

  • Redisとキャッシュについて理解を深めてみた。 - Qiita

    業務でキャッシュに関わる部分を見る機会があり、せっかくなのでキャッシュについて理解を深めてみました。そのまとめです。 Redisとは Redisは「REmote DIctionary Server」の略です。githubのリポジトリ→redisのリポジトリ (最近開発者がRedisの開発から退く意向を示す投稿をしていました。そのため、Redisのリポジトリが作者の個人リポジトリからredis-ioリポジトリに移っています。) Redisはin-memory databaseであるが故に高速アクセスが可能であり、client/serverモデルを採用しているが故に複数のクライアントからアクセスすることが可能です。またreplicationがサポートされているなどscalableであるという特徴も持っています。 投稿では以下の2点を見ていきます。 in-memory database rem

    Redisとキャッシュについて理解を深めてみた。 - Qiita
  • Redis 本番障害から学んだコードレビューの勘所

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

    Redis 本番障害から学んだコードレビューの勘所
  • Redisを使う時は見積の二倍の容量必要だよね、という話 - Qiita

    [15487] 04 Aug 21:02:37.523 * 1 changes in 900 seconds. Saving... [15487] 04 Aug 21:02:37.523 # Can't save in background: fork: Cannot allocate memory redis-cli infoしても、使用してるメモリは全体の半分ちょっとだったし、空きは十分にある… 答えは Redis Administration http://redis.io/topics/admin に書いてありました。 原因と解決策 redisのバックアップが走る際、おそらく現状使用している量と同じだけのallocateを要求しているために、redis自体はメモリ使用が50%強だとしても、バックアッププロセスが落ちてしまう模様。 解決は簡単で、Redis Administratio

    Redisを使う時は見積の二倍の容量必要だよね、という話 - Qiita
  • 巨大なデータを扱う場合のRedisの運用戦略 - Qiita

    はじめに Read/Writeともに高速で,様々なデータの持ち方が可能なことでキャッシュDBとして人気のあるRedisですが,何も考えずに実運用システムで使用しているとデータが肥大化してしまい非常に扱いにくくなることがあります. 今回は,データの肥大化とともに顕在化する問題と,データの肥大化に対する戦略についてまとめたいと思います. データの肥大化時に顕在化する問題 何のキーが入っているか分からなくなる Redisはオンメモリ型のKVSであるため,データがある程度増えてくるとサーバのメモリ容量を圧迫し始めます. このような状態で,プロダクション環境に対して keys * などをやってしまうと,一時的にメモリ使用量が跳ね上がり,メモリ使用量を抑えるためにRedisがキーを削除したり,OOM KILLERにRedis Serverごと殺されてしまう可能性があるため,そういったコマンドはうてなく

    巨大なデータを扱う場合のRedisの運用戦略 - Qiita
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

    こんにちは。初投稿です。 2012年新卒入社の竹内です。入社当時を振り返るとOracle10g,11gを良く利用していおり、データモデリングなどテーブル設計が好きで、2018年4月ぐらいまでRDBとバッチに浸ってました。 さて、現在プロジェクトでRedisを使っているのですが、いままでRDB人間だっただけにKVSやRedisならではの特徴に四苦八苦してます。 苦しんだ分、色々な知見を得ることができているので、その内容をご紹介します! 対象者 Redisの業務システム導入を検討している方 RDBとRedisの違いを知りたい方 現場的なRedisの利用方法を知りたい方 書いてないこと データ型やコマンドなど、HelloWorld的に公式ドキュメントを見て得られる情報 インストールなど、Redisを利用できるまでの手順 フェイルオーバーやバックアップをはじめとする運用に関する内容 データ永続化に

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
  • ソシャゲ開発経験から学んだゲームに Redis を使う際の Tips

    近年の KVS では割と Redis が覇権を取っていることもあり(当社比), 社内の多くのプロジェクトで Redis を使用するようになりました. ということでノウハウ的なのも溜まってきたのでまとめたいと思います. (大量のユーザーデータを扱うソシャゲにしか当てはまらない部分もあるかと思います) 単純にパフォーマンスを RDB < Redis と思い込んでとりあえずでキャッシュしない 「Redis は速い」と言われますが, インデックスをちゃんと貼った RDB のクエリも そこまで遅いわけではありません. 結局通信コストの方が遥かに大きいので内部の 取得時間差はトータルで考えると多くの場合誤差です. 特に RDB の主キーのみで取得できるようなデータを Redis にキャッシュすることに メリットはありません. キャッシュするコードを書くコストの方が高くつきます. キャッシュするのは R

    ソシャゲ開発経験から学んだゲームに Redis を使う際の Tips
  • 初心者による初心者のためのRedis解説 - Qiita

    はじめに インターン先でRedisについてまとめるよう言われました。 そのとき作ったパワーポイントを元にした文章をQiitaにも投稿しておきたいと思います。 対象者はRedis初心者、サーバ運用の初心者等々です。 自分も初心者なので、あまり期待しないでください。 Redisとは(導入部) 最初に結論っぽいことをまとめます。 Redisとは、 無料で使えるデータベース管理システムの一つ 高速にデータを処理することができる、という特徴がある データベースの種類としては"NO SQL"というものに分類される です。全くわからなくても大丈夫です。これから丁寧に説明していきます。 ちなみにロゴはこんな感じ。 いくつかの単純な図形が描かれたブロックが複数積み上がっています。 このデザインだってデザイナーが一生懸命考えて作ったものなので、なにか大きな意図があるはず…! 前提知識 誰だって最初からIT技術

    初心者による初心者のためのRedis解説 - Qiita