タグ

redisに関するtoritori0318のブックマーク (99)

  • Redis Explained

    Redis Explained InfographicWhat is Redis?Redis (“REmote DIctionary Service”) is an open-source key-value database server. The most accurate description of Redis is that it's a data structure server. This specific nature of Redis has led to much of its popularity and adoption amongst developers. 👋🏾You are reading Architecture Notes! Crave some byte-sized bites of this? Join me on Twitter. If it's

    Redis Explained
    toritori0318
    toritori0318 2022/08/13
    図がわかりやすい
  • Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装

    Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装 Redisやmemcachedに代表されるインメモリデータストアは、高速なデータアクセスを要求される場面で使われています。 このインメモリデータストアを2022年の最新技術を用いて設計、実装することで、Redis/memcached互換を実現しつつRedisの25倍高速とする「Dragonfly」が登場しています(開発元のアナウンス、GitHub)。 Redisやmemcachedが登場した十数年前と比べて、現在ではCPUのマルチコア化やI/Oの高速化、メモリの大容量化など、ハードウェア技術が大きく進化しています。 これらを最大限活用する設計と実装を取り入れることでRedisやmemcachedよりも大幅な高速化と高効率化を目指したのがDragonflyです。 採用した主な技術

    Redis互換で25倍高速とする「Dragonfly」が登場。2022年の最新技術でインメモリデータストアを実装
  • Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service | Amazon Web Services

    AWS News Blog Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service Interactive applications need to process requests and respond very quickly, and this requirement extends to all the components of their architecture. That is even more important when you adopt microservices and your architecture is composed of many small independent services that communica

    Introducing Amazon MemoryDB for Redis – A Redis-Compatible, Durable, In-Memory Database Service | Amazon Web Services
    toritori0318
    toritori0318 2021/08/20
    おおおまじか!!!
  • The end of the Redis adventure - <antirez>

    When I started the Redis project more than ten years ago I was in one of the most exciting moments of my career. My co-founder and I had successfully launched two of the major web 2.0 services of the Italian web. In order to make them scalable we had to invent many new concepts, that were already known in the field most of the times, but we didn’t know, nor we cared to check. Problem? Let’s figure

  • Redis Labs、Redisをフォールトトラレントなクラスタにするモジュール「RedisRaft」を発表 | OSDN Magazine

    インメモリデータベースのRedisを開発する米Redis Labsは6月23日、Redisモジュール「RedisRaft」を発表した。複数のRedisサーバーをフォールトトレラントなクラスタとして運用できるもので、まずは数か月後にプレビューを公開する計画。 RedisRaftはRedisサーバーの集合を単一のフォールトトラレントなクラスタにするための新モジュール。これを利用することで、高いレベルの信頼性と一貫性が必要な用途でもRedisを利用できるという。 2018年のRedis 5公開後にサイドプロジェクトとしてスタートしたもので、バージョン4で導入したモジュールAPIの新しい使い方として、Redisを新しい方向性に拡張することにした。Apache ZooKeeperやEtcdのようなデータストアと同等の信頼性と一貫性を実現を目指す。 C言語で実装され、RedisRaftを使ったクラスタ

    Redis Labs、Redisをフォールトトラレントなクラスタにするモジュール「RedisRaft」を発表 | OSDN Magazine
    toritori0318
    toritori0318 2020/06/25
    :eyes:
  • Redisで1000万件のデータを圧縮しつつ定期的に洗い替えする - スペクトラム

    概要 お仕事でRedisを触ってたので知見をまとめる。 Redisは高速はKVSだが、今回1000万件を超えるような大量のデータを扱った。 大量のデータをバッチで定期的に書き込んで、参照側では高速に返すシステムを考える。 バッチはユーザーの行動を『現在から1日以内にログインしたユーザー』のように時間区切りで条件検索している。そのため、検索する時間が変われば結果も変わるので、定期的に実行してデータを洗い替えている。 検索結果は1000万件あっても対応したい。 ユーザーがアクセスしてきたときにはこの検索結果の対象かどうか判断して結果を返したい。このユーザーからのアクセスは大量にあるため即座にレスポンスを返さなければならない。 洗い替えることによって使わなくなったデータは容量を空けるために削除したい。 クエリ結果はユーザーのidなので19475934や59103940のような法則性の薄い数字の列

    Redisで1000万件のデータを圧縮しつつ定期的に洗い替えする - スペクトラム
    toritori0318
    toritori0318 2020/06/21
    unlinkコマンド知らなかった
  • Redis 6.x の Threaded I/O 対応雑感 - アルパカDiary Pro

    2020/5/6 追記 ベンチマーク結果に mset / sadd / zadd / hset / lpush / lrange 300 を追加しました Redis 6系がリリースされましたね! mag.osdn.jp やはり気になったのは「マルチスレッド対応」という文字。 Redisといえばシングルスレッドでしたが、今回の対応がどういうものか?パフォーマンスにどの程度影響するのか?が気になったので軽く調べてみました。 redis.confの説明文 redis.confに THREADED I/O の頁が追加されています。 要約するとあくまで I/Oアクセスをマルチスレッド化 する対応のようです。 1 スレッド化なし/あり時の実際のプロセスの様子 io-threads=1の時 io-threads>1の時 スレッド表示OFF スレッド表示ON きちんとスレッド化されている様子がわかりますね

    Redis 6.x の Threaded I/O 対応雑感 - アルパカDiary Pro
    toritori0318
    toritori0318 2020/05/06
    書いた
  • インメモリ型データストア「Redis 6.0」リリース、マルチスレッド対応やクライアントキャッシュなどが導入される | OSDN Magazine

    インメモリデータストアRedis開発チームは4月30日、最新のメジャーリリースとなる「Redis 6.0」の一般公開を発表した。マルチスレッド処理の導入によるパフォーマンス向上やSSL対応などが特徴となる。 Redisは「データ構造ストア」をうたうシステムで、データベースやキャッシュ、メッセージブローカーなどとして利用できる。オープンソースで開発されており、ライセンスはBSDライセンス。文字列、文字列を集めたLists、Sets、ハッシュなどのデータ構造をサポートし、範囲クエリ、ビットマップ、地理空間インデックス、HyperLoglogといった形でデータを格納できる。 Redis 6.0は2018年10月公開のバージョン5系に続く最新のメジャーリリースで、過去最大のリリースとしている。バージョンには複数の大きな変更が含まれているが、その1つとして複数スレッドを活用して効率よく処理を実行す

    インメモリ型データストア「Redis 6.0」リリース、マルチスレッド対応やクライアントキャッシュなどが導入される | OSDN Magazine
  • サーバレスRedisを提供する「Lambda Store」登場。無料で256MB、25同時接続まで利用可能

    キーバリューストアを高速なインメモリデータベースとして提供するRedisを、AWS上のマネージドデータベースとして提供する新サービス「Lambda Store」が登場しました。提供元は同名の新興ベンダLambda Storeで、現在AWS上で利用可能です。 AWS上のマネージドなRedisデータベースは、すでにAWSが提供する「Amazon ElastiCache」や、RedisLabsが提供する「Redis Enterprise」などがあります。 今回登場したLambda Storeの特長は、その名前が示すとおりRedisをサーバレスモデルで提供するため、使った分だけ料金が発生する従量課金になっている点にあります。これにより、月額料金のほかのサービスよりも圧倒的に安いと同社は主張。 さらに、Lambda Storeを利用しているサービスが成長し、大量のアクセスが発生するようになった場合、

    サーバレスRedisを提供する「Lambda Store」登場。無料で256MB、25同時接続まで利用可能
    toritori0318
    toritori0318 2020/04/27
    サーバレスRedis…!
  • デバッガでRedisのコードを読んでみよう - freee Developers Blog

    こんにちは、エンジニアの松崎 啓治(まつざき けいじ)です。 インターネット上ではこのIDで活動しています。 @futoase 先日、社内でエンジニア向けに「デバッガでRedisのコードを読んでみよう」というテーマの勉強会が開かれました。せっかくの機会なので、その内容をご紹介します。 勉強会スライドへのリンク デバッガでRedisのコードを追いかけるメリットとしては以下のようなものがあります。 gdbを使ってRedisのコードをstep実行することで、どのタイミングでRedisのStorage(memory領域)からデータを取得できるのか体験から学べる Redisだけではなく、nginxMySQL、PostgreSQLなどgdbを利用してstep実行を行えるものであれば、今回の勉強会の手法を元に同じように体験から学ぶことができる デバッガで追いかけるための準備 プレゼン資料で

    デバッガでRedisのコードを読んでみよう - freee Developers Blog
  • EC2 RedisのMeltdown/Spectreパッチバージョン性能検証 - Qiita

    Redis少し古くてすみません… ベンチマークコマンド バンドルされているredis-benchmarkコマンドを利用して以下の軸で実行してみました。 # default redis-benchmark # setのみ100万回実行 redis-benchmark -t set -n 1000000 -r 100000000 # 100万個のランダム要素のリストを実行 redis-benchmark -r 1000000 -n 1000000 1 lpush mylist __rand_int__ # データサイズ1024byteで、3万リクエストを100クライアントで実行 redis-benchmark -d 1024 -n 30000 -r 30000 -c 100 -q

    EC2 RedisのMeltdown/Spectreパッチバージョン性能検証 - Qiita
    toritori0318
    toritori0318 2018/01/11
    さくっと検証
  • 本当は恐ろしい分散システムの話

    分散システムのFault Injectionの話 NTTデータテクノロジーカンファレンス2017で発表する際に用いたプレゼン資料 https://oss.nttdata.com/hadoop/event/201710/index.html Read less

    本当は恐ろしい分散システムの話
  • RedisサーバのCPU負荷対策パターン - ゆううきブログ

    Redisは多彩なデータ構造をもつ1インメモリDBであり、昨今のWebアプリケーションのデータストアの一つとして、広く利用されている。 しかし、一方で、性能改善のための手法を体系的にまとめた資料が見当たらないと感じていた。 実際、最初にCPU負荷が問題になったときにどうしたものかと悩み、調査と試行錯誤を繰り返した。 そこで、この記事では、自分の経験を基に、RedisサーバのCPU負荷対策を「CPU負荷削減」「スケールアップ」「スケールアウト」に分類し、パターンとしてまとめる。 背景 RedisのCPU負荷対策パターン CPU負荷削減 multiコマンド Redisパイプライニング Luaスクリプティング Redisモジュール(夢) スケールアップ スケールアウト 参照用スレーブ 垂直分割 水平分割 Redis Clusterによる水平分割 その他 スライド資料 あとがき 参考資料 背景 R

    RedisサーバのCPU負荷対策パターン - ゆううきブログ
    toritori0318
    toritori0318 2017/09/12
    Redis大好き
  • Redis 4.0正式リリース。モジュールによる機能やデータの拡張が可能に、新レプリケーションエンジンで運用が改善

    Redis 4.0正式リリース。モジュールによる機能やデータの拡張が可能に、新レプリケーションエンジンで運用が改善 Redis 4.0はモジュールによる機能拡張の実現、新しいレプリケーションエンジンによる高速なレプリケーション、新しいアルゴリズムの追加によるキャッシュの改善、フラッシュの非同期実行など、多くの機能追加が行われています。 リリースノートには、「内部における変更に関していえば、4.0はおそらくこれまででもっとも劇的なリリースだろう」と、次のように記されています。 Note that 4.0 is probably one of the most extreme releases of Redis ever made in terms of changes inside the internals 新しいレプリケーションエンジン「PSYNC2」 Redis 4.0では新しいレプリ

    Redis 4.0正式リリース。モジュールによる機能やデータの拡張が可能に、新レプリケーションエンジンで運用が改善
    toritori0318
    toritori0318 2017/07/19
    すでに面白そうなモジュールがいくつか https://redis.io/modules
  • 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
  • Redisアプリケーションパターン | おそらくはそれさえも平凡な日々

    この記事は、はてなエンジニアアドベントカレンダー2016の12日目の記事です。 先日こういうツイートをしました。 Redisはキャッシュ用途のミドルウェアだと思わない方が良いと思う — songmu (@songmu) 2016年12月10日 言いたかったのは、Redisはキャッシュのためだけのミドルウェアだと誤解されがちなのですが実際はそうではないということです。実際、公式サイト を見に行くと以下の様なことが書かれています。 Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. つまり、Redisは多彩なデータ構造を保持できるインメモリーのデータストアで、様々な活用法があり、キャッシュとして「も」使える、とい

    Redisアプリケーションパターン | おそらくはそれさえも平凡な日々
    toritori0318
    toritori0318 2016/12/24
    redis大好きです
  • プロダクションで2年間Redis Clusterを運用してみて - Qiita

    TL;DR Redis Clusterで運用は当に楽になった でも、Redis 4.0は不安 Redis Clusterで一番怖いのはDisk IO 特にフェイルオーバーなどのFull Resync時 Redisとは? 高速なインメモリ型のKVS シングルスレッド 豊富なデータ構造(次ページにて詳細) 豊富な操作(次々ページにて詳細) 豊富なデータ構造 key-value型 hash型(key-field-value) set型(集合演算ができる) sorted set型(スコア付きset) 任意の型(redis modules機能) 豊富な操作 インクリメントや和集合などなど lua scriptも実行できちゃう シングルスレッドだからatomicな処理になる Redisの問題点 writeがスケールしない 気軽に停止できない サーバー再起動やバージョンアップなど Redis Clus

    プロダクションで2年間Redis Clusterを運用してみて - Qiita
  • Redis Cluster入門 - Qiita

    概要 RedisClusterのチュートリアルを読みつつ疑問を解消していく。 Redis自体がシンプルな仕組みなこともあり、ドキュメントを読むだけでおよそ理解できるものと思われるので、下手な追加説明はあまりしていません。 以下、引用の箇所は筆者が和訳したもの、それ以外が筆者のコメントになります。 Redis cluster tutorial このドキュメントはRedisClusterについて書かれています。 distributed systemのコンセプトを簡単にまとめたものになります。 どうやってクラスタを構成し、テストし、運用するかを要点を絞ってまとめたものです。詳細はspecの方をご確認ください。 しかし、可用性と一貫性についての説明も試みています。 プロダクションで使うにはspecificationも読むことをおすすめしますが、とりあえず試したい方はこちらをお読み下さい。 Redi

    Redis Cluster入門 - Qiita
  • Redis 3.2.0 is out! - <antirez>

    It took more than expected, but finally we have it, Redis 3.2.0 stable is out with changes that may be useful to a big number of Redis users. At this point I covered the changes multiple time, but the big ones are: * The GEO API. Index whatever you want by latitude and longitude, and query by radius, with the same speed and easy of use of the other Redis data structures. Here you can find the API

  • Python Examples of redis.ConnectionPool

    The following are 30 code examples of redis.ConnectionPool(). You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may also want to check out all available functions/classes of the module redis , or try the search function .