タグ

redisに関するkoma_gのブックマーク (76)

  • 排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!

    トランザクション分離レベルについての教養があったほうがこの記事の内容を理解しやすいため,必要に応じてまず以下を参照されたい。 背景 以前, Qiita で以下の記事を投稿した。今回の議題に直接的な関係はないが,関連している部分があるため引用する。 MySQL/Postgres とも, MVCC アーキテクチャの恩恵で, SELECT と UPDATE は基的には競合しない。 単一レコードのシンプルな UPDATE でも排他ロックされ,排他ロック中のレコードへの UPDATE での変更操作は トランザクション分離レベルによらず ブロックされる。UPDATE 文に含まれる WHERE 句での検索もブロックされ,これはブロックされない SELECT による検索とは別扱いになる。 但し UPDATE 文の WHERE 句上で,更新対象をサブクエリの SELECT から自己参照している場合は例外。

    排他制御のためだけに Redis 渋々使ってませんか?データベース単独でアドバイザリーロックできるよ!
  • 無料で使えるデータベースUpstashをご存知、ないのですか!?

    Intro 最近とあるデータベースに関する記事を読んだのですが、Upstashについて誰も言及しておらずヤバいなと思ったので紹介することにしました。 ちなみに私も今日はじめてアカウント登録するのでご安心ください。 ゴールデンウィークは色々始めたくなるものです。 Upstashはサーバーレスデータベースを提供するサービスです。 Redisを主に扱っていますが一応Kafkaも使うことができます。 詳しく調べた感じだともう一つぐらい使えるデータベースが増えそうな気がしたので様子見していたのですが、 3月中旬に約2.3億円の資金調達を行いしばらくは既存サービスの強化を行うようなのでとりあえず使ってみることにします。 Upstash 様々な特徴がありますが特筆すべき点として、AOFモードで永続性が常に有効になっている点が挙げられます。 つまりRedisでありがちなキャッシュやエフェメラル用途で使える

    無料で使えるデータベースUpstashをご存知、ないのですか!?
  • Redisに耐久性が加わったAmazon MemoryDB for Redisが登場 | DevelopersIO

    MemoryDB はElastiCache の約1.5倍、Aurora の約1.2倍と若干高価です。 耐久性を重視するMemoryDBはElastiCacheで言うところの「クラスターモード」しか存在しないため、{シャード数} x {ノード数/シャード} x {インスタンス利用費} 分の利用費が発生する点にもご注意ください。 最後に Redisを永続的なデータストアとしても使える Amazon MemoryDB for Redis が爆誕しました。 データ耐久性のトレードオフとして書き込み速度は低下したものの、読み取りの速さはまさにRedisです。 クライアントはRedisコマンドを投げるだけで、MemoryDBが良しなにやってくれるため、使い勝手が良さそうです。 今後はDynamodB+DAXの代替として検討したり、RDB+キャッシュRedisなシステムを MemoryDB に集約すると

    Redisに耐久性が加わったAmazon MemoryDB for Redisが登場 | DevelopersIO
  • GitHub - diego3g/rocketredis: A beautiful Redis GUI (under development)

    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 - diego3g/rocketredis: A beautiful Redis GUI (under development)
  • Redis Labs、強い一貫性を保ちつつRedisを高可用クラスタ化する「RedisRaft」発表

    インメモリキーバリューストアのRedisを開発するRedis Labsは、複数のRedisをクラスタ化することで高い可用性を実現しつつ、クラスタ内で強い一貫性の保持を実現するクラスタ化ソフトウェア「RedisRaft」を発表しました。 Introducing RedisRaft, a new strong-consistency deployment option for Redis in beyond-cache scenarios requiring a high level of reliability and consistency. #RedisRaft https://t.co/2l5dmiVFpk — Redis Labs (@RedisLabs) June 23, 2020 Redisはメモリ上でキーバリューデータを扱うインメモリデータベースで、その高速性が大きな特長です。

    Redis Labs、強い一貫性を保ちつつRedisを高可用クラスタ化する「RedisRaft」発表
  • サーバレス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同時接続まで利用可能
  • Redisで1000万件のデータを圧縮しつつ定期的に洗い替えする - スペクトラム

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

    Redisで1000万件のデータを圧縮しつつ定期的に洗い替えする - スペクトラム
    koma_g
    koma_g 2020/06/21
  • Redis の Slave (Replica) の Expire は 4.0 RC3 以降信用して良くなっている - その手の平は尻もつかめるさ

    maedama.hatenablog.com trapezoid.hatenablog.com 上記のブログには今から6年ほど前の当時の情報が記されていますが,Redis 4.0 RC3 以降の Slave (replica) の Expire は信用して良くなっているようです. Redis の公式ドキュメント (Replication – Redis) を参照すると, However note that writable replicas before version 4.0 were incapable of expiring keys with a time to live set. This means that if you use EXPIRE or other commands that set a maximum TTL for a key, the key will le

    Redis の Slave (Replica) の Expire は 4.0 RC3 以降信用して良くなっている - その手の平は尻もつかめるさ
    koma_g
    koma_g 2020/05/08
  • インメモリ型データストア「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
    koma_g
    koma_g 2020/05/02
  • Redis 6.0.0 GA is out! - <antirez>

    Finally Redis 6.0.0 stable is out. This time it was a relatively short cycle between the release of the first release candidate and the final release of a stable version. It took about four months, that is not a small amount of time, but is not a lot compared to our past records :) So the big news are the ones announced before, but with some notable changes. The old stuff are: SSL, ACLs, RESP3, Cl

    koma_g
    koma_g 2020/05/02
  • GitHub - laixintao/iredis: Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.

    Advanced code completion. If you run command KEYS then run DEL, IRedis will auto-complete your command based on KEYS result. Command validation. IRedis will validate command while you are typing, and highlight errors. E.g. try CLUSTER MEET IP PORT, IRedis will validate IP and PORT for you. Command highlighting, fully based on redis grammar. Any valid command in IRedis shell is a valid redis comman

    GitHub - laixintao/iredis: Interactive Redis: A Terminal Client for Redis with AutoCompletion and Syntax Highlighting.
  • GitHub - stephenmcd/hot-redis: Rich Python data types for Redis

    Each of the types provided by HOT Redis strive to implement the same method signatures and return values as their Python built-in and standard library counterparts. The main difference is each type's __init__ method. Every HOT Redis type's __init__ method will optionally accept initial and key keyword arguments, which are used for defining an initial value to be stored in Redis for the object, and

    GitHub - stephenmcd/hot-redis: Rich Python data types for Redis
  • システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ

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

    システム開発で得たRedis利用ノウハウ | フューチャー技術ブログ
    koma_g
    koma_g 2019/08/21
  • RedisTimeSeriesモジュールによりRedisに時系列データベース機能が追加

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    RedisTimeSeriesモジュールによりRedisに時系列データベース機能が追加
    koma_g
    koma_g 2019/08/11
  • Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発

    Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発 オープンソースソフトウェアの開発元がクラウドベンダへの不満を表明し、商用サービス化を制限するライセンス変更を行う例が続いています。 高速なインメモリデータストアを実現するオープンソースソフトウェアとして知られる「Redis」の開発元「Redis Labs」は、2018年8月に同社が開発したRedis拡張モジュールに関するライセンスの変更を発表しました(Redis体のライセンスはBSDライセンスのまま)。拡張モジュールには、全文検索を行うRediSearchなどが含まれています。 変更後のライセンスでは、クラウドベンダによる商用サービスでの利用を制限するものとなっています。 ライセンス変更を発表した記事「Redis’ License

    Redis、MongoDB、Kafkaらが相次いで商用サービスを制限するライセンス変更。AWSなどクラウドベンダによる「オープンソースのいいとこ取り」に反発
  • moco(beta)'s backup: Redis でロックを実装する (1)

    「Redis入門」6.2節「分散ロック」について Redis のトランザクション (Python版) で、WATCH / UNWATCH コマンドを使った簡易な楽観ロックを使いましたが、6.2節では(悲観)ロックの実装方法が紹介されていて、実用的&面白かったので試してみました。 Redis 自体は(悲観)ロックの機構をもっていないので、排他制御をしたい場合は自前で構築することになります。キーが存在しない場合にかぎり値をセットできる SETNX コマンドを使って、予約したいリソースに応じたキー(全クライアントで共通の約束事)に一意な識別子をセットすることで、セマフォ(Mutex のほうが正確な表現かな?)を実現できます。キーが存在していなかったらユニークな(ロックしたのが自分だと後でわかるようにするため、必ず一意になるようにする)識別子をバリューにセットしてロック獲得成功、キーがすでにあった

  • Redis による分散ロック — Redis Documentation (Japanese Translation)

    Redis による分散ロック¶ 異なるプロセス同士が、相互に排他的な方法で共有リソースに対して操作を実行する、という環境において、分散ロックは非常に役に立ちます。 Redis を使った DLM (Distributed Lock Manager) の実装については、多くのライブラリやブログポストがあります。しかし、ライブラリごとに異なるアプローチがとられており、またその多くは、より複雑なデザインと比較するとシンプルで、そのぶん保証される内容が低いアプローチとなっています。 このページは、Redis 上で分散ロックを実装するにあたり、標準的なアルゴリズムを提供することを目指すものです。私たちはここで Redlock と呼ぶアルゴリズムを提供します。これは DLM 実装の一種で、よく見かけるような、ひとつのインスタンスを使うアプローチよりも安全である、と私たちは考えています。コミュニティがこの

  • Redisのフェールオーバー環境を構築する(その3) - Qiita

    Redis 冗長化 & フェールオーバー環境を CentOS 6.x 上に構築する手順です 手順は3部構成となっており、稿は Redis-Sentinelによるフェールオーバー環境の構築となります (その1):Redisのインストール (その2):Redisの冗長化 (その3):Redis-Sentinelによるフェールオーバー環境の構築 Redisのフェールオーバー環境の概要 死活監視には Redis-Sentinel を利用します Master に異常が発生したら Slave を Master に自動で昇格させます 誤った昇格を防ぐため、死活監視の Redis-Sentinel も3インスタンス起動させて、多数決(2台/3台)による判定をさせます 起動ファイル ポート 設定ファイル 説明

    Redisのフェールオーバー環境を構築する(その3) - Qiita
  • Task Queues - Full Stack Python

    タスクキュー タスクキューは通常のHTTPリクエスト/レスポンスのサイクルの外側で実行されるバックグラウンド処理を管理します。 なぜタスクキューは必要? HTTPリクエストをきっかけに行われない、またはHTTPレスポンスを返す際のパフォーマンスを著しく低下させる恐れのある処理は非同期で扱います。 例えば、Webアプリケーションは10分毎にGitHub APIからスターが多い順に100個のレポジトリを取得しているとします。タスクキューを使ってGitHub APIの呼び出しを管理し、APIのレスポンスを処理してデータベースに保存しておきます。 他の例として、HTTPリクエスト/レスポンスのサイクルの中でデータベースへのクエリに時間がかかりすぎている場合を挙げましょう。クエリをバックグラウンドで一定時間ごとに実行し、データベースに保存することもできるでしょう。HTTPリクエストが来たら、時間のか

  • Jepsen: PostgreSQL, Redis, MongDB および Riak の分割耐性をテストする

    Spring BootによるAPIバックエンド構築実践ガイド 第2版 何千人もの開発者が、InfoQのミニブック「Practical Guide to Building an API Back End with Spring Boot」から、Spring Bootを使ったREST API構築の基礎を学んだ。このでは、出版時に新しくリリースされたバージョンである Spring Boot 2 を使用している。しかし、Spring Boot3が最近リリースされ、重要な変...

    Jepsen: PostgreSQL, Redis, MongDB および Riak の分割耐性をテストする