タグ

redisに関するkadoppeのブックマーク (27)

  • 今更Redisのsorted set を知ってリアルタイムランキングの実装が超楽だった件 - Qiita

    最近ランキングを実装する機会があって、どうやって実装しようかって話をしていたら、@attakei さんがRedisのsorted set使うと楽よ!って教えてくれたので、使ってみたら超楽ちんでした 2年位前に流行ったんですね、知らんかった。 旧時代の実装 私がゲーム制作していた時代は、ランキングというと一定時間ごとにバッチを回して、ランキングテーブルにソート済みのデータを流しこむという感じの実装でした。 おかげで、ユーザー参照用とバッチ作業用の二つのランキングテーブルと、ランキングテーブルを切り替えるためのスイッチングテーブルが必要になったり、バッチ流す必要があったり、とにかく面倒くさかったように覚えています リアルタイムなんて、いちいち全ユーザーの集計をしてデータをソートして順位を割り出すことになり、そんなことは無理な話でした Redis の sorted set ところが、時代は変わる

    今更Redisのsorted set を知ってリアルタイムランキングの実装が超楽だった件 - Qiita
  • Redisにできることとその限界、そしてデータ構造の基本 - Qiita

    まずは繰り言だ! データ構造って、一番大まかに言って、同種のデータ同士の関係と、異種のデータ同士の関係がある。人同士の関係、出来事同士の関係、等が前者だとすれば、人と性別の関係とか、人と所属サークルの関係、なんていうのが後者だ。 で、その一番ざっくりした関係に加えて、ある向きに1対1の関係なのか1対多の関係なのか、逆方向に1対1の関係なのか1対多の関係なのか、というのがあって、これによって、それぞれ3通りに分類される。4通りではないのは、「ある向きに1対1、逆向きに1対多」と「ある向きに1対多、逆向きに1対1」とは同値だからだね。 でもって、これらの関係を持ったデータ群に対して、CRUDという基操作がある。ここまでで完結するなら、それはRedisで充分、ということだ。 さらに次のレベルは、集合演算、順序付け、値の加減算、値の乗除算やその他の演算、変更可能なものとそうでないもの、など、デー

    Redisにできることとその限界、そしてデータ構造の基本 - Qiita
  • Redisに用意されたデータ型とその扱い | Sojiro's Blog

    # Redisで扱えるデータ型StringListSetSorted SetHash# String文字列型 文字列や数値など、Keyに対して1つに定まる値。 # 値のset set [key_name] [value] # 1つのkey-valueをsetする mset [key_name_1] [value_1] [key_name_2] [value_2] # key-valueの組を複数setする

  • Redis-rails RailsのセッションをRedisで管理

    サーバサイドでのセッション管理はセキュリティを向上させたり、通信で無用なCookieを送らない等の意味でメリットがあります。 今回は『redis-store/redis-rails - GitHub』を使う手順のメモです! 🍣 サーバサイド/クライアントでのセッション管理のPros/Consセッションに関する説明は次のサイトがお勧めです。注意点としては次の2点と考えられます。 セッション管理の要注意点 - Qiita Rails セキュリティガイド | Rails ガイド - セッションの基礎 - Webアプリでは、接続ごとに固有の識別子(セッションID)を割り当て、一時的なidを割り振る - セッションは他のCookieと合わせて通信のたびにやり取りされる - Cookieのサイズは4 KBと厳密に定められている - セッションにおけるセキュリティのリスク - 他人のセッションを取得す

    Redis-rails RailsのセッションをRedisで管理
  • 本当は怖いMemcached - Qiita

    はじめに データアクセスの高速化、セッションの保持などに非常に重要なポジションを占めているMemcached 特徴をあげると、速い安い美味いで、AWS上のサービス化などされており、非常に扱いやすいプロダクトなのですが、Memcachedそのものが単一障害点とならないように冗長化を測った時に深刻な問題が発生する可能性があることをご存知でしょうか。 システムに心あたりがある方は今すぐ代替手段を検討しなければなりません。 どうしてもMemcachedを使いたいという方はこちらへ それでもMemcachedを使いたいあなたへ 前提条件 そもそも冗長化をしなければ問題ないという運用はその時点で怖いのでNG cache機構という性質上、データが飛ぶのは問題ない(”正”となるデータを他から読み出すだけ)が、誤ったデータが読み出されるのをNGとする Memcachedを利用した時に利用ノードを決定するのは

    本当は怖いMemcached - Qiita
  • いぬごやねっと

    4geek.net 2024 著作権. 不許複製 プライバシーポリシー

    いぬごやねっと
  • Redis作者自身によるRedisとMemcachedの比較 | Yakst

    Redisの作者antirez氏自らによる、memcachedとRedisの長所短所の比較。特に、Redisを単なるキャッシュ用アプリケーションとしてmemcachedと比較することの間違いと、それぞれの向いている使用方法についての私見。 あなたが私と面識があるなら、私が競合製品があることが悪いと考える人間でないことはご存知でしょう。ユーザーに選択肢があることは当にいいことだと思っていますし、だからこそ他の技術とRedisを比較するようなことはほとんどしませんでした。 しかし、最適なソリューションを選ぶためには、ユーザーは正しく情報を持たねばならないのも確かです。 この記事を書くのは、有名なライブラリであるSidekiqの作者として知られるMike Perhamが、Redisのバックエンドストレージとしての使い方を書いた記事を読んだのがきっかけです。従って、私はMikeがRedisに「反

    Redis作者自身によるRedisとMemcachedの比較 | Yakst
  • GitHub - tj/connect-redis: Redis session store for Connect

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - tj/connect-redis: Redis session store for Connect
  • In-process persistant key-value store for node.js

  • Redis Cloud | Heroku Dev Center

    This add-on is operated by RedislabsFrom the creators of Redis. Enterprise-Class Redis for Developers (w/ Free plan) Redise Cloud is a fully-managed cloud service for hosting and running your Redis dataset in a highly-available and scalable manner, with predictable and stable top performance. You can quickly and easily get your apps up and running with Redise Cloud through its add-on for Heroku, j

    Redis Cloud | Heroku Dev Center
  • ElastiCache Redis Engineのベンチマークともろもろ - まめ畑

    Amazon Web Services Blog: Amazon ElastiCache - Now With a Dash of Redis で日ElastiCacheでRedisが使えるようになりました。今まではmemcachedだけでした。 (同時にAmazon Web Services Blog: More Database Power - 20,000 IOPS for MySQL With the CR1 Instance も発表されています) 基的なこと 機能 Replication GroupsによるRedisレプリケーションのサポート Replication Groupsは1ノード毎にSlaveとなる、Endpointは各ノード毎にアサインされる Masterへは統一のEndpoitが与えられ、Read replicaをmasterにpromoteしてもendpoin

  • Using a Redis as a Database

    The Spike I was spiking on Redis recently. I wanted to use the redis-objects gem to simulate a shopping cart app even though the README specifically says Just use MySQL, k? I wanted to see what would happen if I tried it anyway. So the README and examples for the redis-objects gem are great so I’m not going to rehash what’s there. However, I will say though that the example has you hardcode the id

  • 第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp

    前回紹介したRedisのLIST型に続き、今回はSET型とSORTED SET型について、その構造とWebアプリケーション開発への応用を紹介します。 SET型の構造 RedisのSET型は、重複のない文字列要素の集合を保持するデータ型です。Javaのコレクションフレームワークをご存知の方には、「⁠HashSet」のようなもの、と想像していただくと分かりやすいかと思います。 LIST型のPUSHやPOPと同様、SET型への追加/削除の時間計算量はO(1)となり、理論上はサイズに関係なく一定時間で操作できることになります。実際、ニコニコ生放送のシステムでは、要素数にして数万規模のSET型に対して、分間数千~数万回の追加操作を行っています。 一見、SET型のデータ構造は単純すぎて、アプリケーションで活用する機会が想像しにくいかもれません。RedisにはHash型という連想配列のように使えるデータ

    第4回 Redisを用いたアプリケーション開発(2) | gihyo.jp
  • 第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp

    前回までに、Redisの概要と、コマンドラインクライアントによる基的なコマンド操作を見てきました。今回からは、Redisのデータ型を使ったアプリケーション開発について、簡単なサンプルコードと、ニコニコ生放送での事例を交えて紹介していきます。 クライアントライブラリを用いた開発 WebアプリケーションからRedisにアクセスするには、言語ごとのクライアントライブラリを導入することになります。公式サイトにライブラリがリストアップされていますので、各々の環境に合ったものを探してください。 ニコニコ生放送では、PHPによる開発の場合にはphpredisを、Javaで実装している検索サーバーなどではJedisやJRedisを使っています。 今回から掲載するサンプルコードでもこれらのライブラリを使っていきますので、他のライブラリを導入される方はそれぞれ対応するAPIに置き換えてご覧ください。 LIS

    第3回 RedisによるWebアプリケーション開発(1) | gihyo.jp
  • 第2回 Redisの導入と基本機能 | gihyo.jp

    今回は実際にRedisをインストールしてみるところから、コマンドラインクライアントを使った基的な操作方法、そして実際のアプリケーション開発時に重宝するDB選択やタイムアウトなどのRedis特有の仕様について説明します。 インストール ダウンロード 連載執筆時点の最新stableである、2.0.4をダウンロードします。 $ wget http://redis.googlecode.com/files/redis-2.0.4.tar.gz コンパイル RedisはANSI Cで書かれ、外部の依存ライブラリの必要ないシンプルな実装になっているため、コンパイルは以下のステップで完了します。 $ tar xzf redis-2.0.4.tar.gz $ cd redis-2.0.4 $ make 「redis-server」や「redis-cli」が生成されたのを確認してください。 設定の変更

    第2回 Redisの導入と基本機能 | gihyo.jp
  • 第1回 インメモリデータストア Redisの概要 | gihyo.jp

    はじめに 株式会社ドワンゴで「ニコニコ生放送」の開発を担当している、小野と申します。特集では、いわゆる「NoSQL」の一種であるRedisの概要と基操作、そしてWebアプリケーションでの応用例までを、ニコニコ生放送での事例を交えながら紹介していきます。 Redisとは? Redisは、Salvatore Sanfilippo氏によって2009年に公開されたインメモリベースのキー・バリュー・ストアです。2010年3月にはVMWareが同氏を雇入れ、同社の支援のもと、コントリビューターのPieter Noordhuis氏と共にフルタイムで開発が進められています。 記事執筆時点での最新stableはバージョン2.0となり、新しいデータ型の追加やトランザクションのサポート、VM(仮想メモリ)の実装などが追加されました。 また、メモリ効率の向上やスループットの改善が図られたバージョン2.2が間

    第1回 インメモリデータストア Redisの概要 | gihyo.jp
  • Redisの実用例。Redis速いよRedis:DECOLOG TECH BLOG annex:エンジニアライフ

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

    Redisの実用例。Redis速いよRedis:DECOLOG TECH BLOG annex:エンジニアライフ
  • Redis の永続化について調べた - akishin999の日記

    Redis でのデータの永続化方法について調べたので、忘れないうちにまとめておきます。 調べた時の Redis のバージョンは 2.6.13 です。 スナップショット(RDB) Redis のデフォルトの永続化の仕組み この設定が有効な場合、Redis は定期的にデータベースの内容をディスクに出力する Redis を再起動するとこのファイルからデータが読み込まれ復元される 一定回数の更新 + 一定間隔でディスクにファイル出力 ファイル出力タイミングは設定ファイル、CONFIG コマンドで変更可能 無効にもできる 出力は非同期で行われるため、プロセスがクラッシュした場合には前回のスナップショット以降のデータが失われる可能性あり 多少のデータロスを許容できるようなデータならスナップショットのみでもイケそう 手動で実行するには SAVE コマンドまたは BGSAVE コマンドを実行 SAVE は

    Redis の永続化について調べた - akishin999の日記
  • Redisにおけるデータの永続化 | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Redis におけるデータの永続化についてです。 RDB と AOF Redis におけるデータの永続化には 2 つの方式があります。 一つは RDB ファイル(RDB = Redis DataBase だと思います)に書き出す方式で、あるタイミングのスナップショット(フルダンプ)です。 もう一つは更新系のクエリが逐次追記される AOF (Append Only File) です。 RDB と AOF は両方を有効にすることができ、その場合は RDB と AOF の両方が出力されますが、Redis 起動時には AOF からデータが復元されます。 RDB を保存する RDB ファイルを保存するには、save ディレクティブで保存するタイミングを指定します。

  • GitHub - sds/mock_redis: Mock Redis gem for Ruby

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    GitHub - sds/mock_redis: Mock Redis gem for Ruby