はじめに こんにちは、DELTAの馬場です。 今回は少し話題になったElastiCacheのRedisをフォークした新しいエンジンのValkeyについて記事を書きます。 これをやるに至った背景としては単純に20%程安くなるといったところと、ぶっちゃけCache周りでそこまでリッチなことしてないケースも多いのでは?意外と気軽に移行しても問題なく動くのでは?と思い、まずは自社のプロダクトに手を加えていこうぜ!という勢いがベースになります。 移行周りで少し詰まったこともありましたが、結構簡単に移行できたのでどのようなことをやったのか?を紹介していきます。 やったこと 既存のTerraformに以下の変更を加えました。 main.tf resource "aws_elasticache_replication_group" "main" { replication_group_id = "${va

ワーニングの原因 これは稼働中のRedisが‘maxmemory’ に達したときの挙動に関してSidekiqが出力するワーニングです。 ここで定義されています。 このワーニングが出ている場合、Redisのメモリが不足した時にSidekiqのJobを削除する可能性があります。 Redisのmaxmemoryとは、Redisで使用できるメモリ容量が無くなった時のことです。 Redisは使用できるメモリがなくなった際にどう動くかをmaxmemory-policyで指定できます。 Redisで指定可能な値は下記の通りです。 noeviction : メモリ使用量が制限に達しており、クライアントが追加のメモリを要求するコマンド(DEL やいくつかの例外を除く、ほとんどの書き込みコマンド)を実行しようとした場合はエラーを返す。allkeys-lru : 新しいデータのためにスペースを空けるため、もっと

RIP Redis: How Garantia Data pulled off the biggest heist in open source history Let’s set the record straight on the history of open source Redis Updated with new information on March 29, 2024. A poem is never finished, only abandoned. You can keep refiningit endlessly, makingit better with everyiteration. As a solo project, full agency is reasonable. However, a unilateral decision to upend a

インメモリデータストアRedisの開発元であるRedis社は、これまでオープンソースとして開発してきたRedis 7.4ソースコードのライセンスを、Redis Source Available License (RSALv2)とServer Side Public License (SSPLv1)のデュアルライセンスに変更すると発表しました。 このライセンス変更により、同社の許可なくRedisを用いたマネージドサービスなどを提供することができなくなります。 下記はライセンス変更を発表した同社ブログ「Redis Adopts Dual Source-Available Licensing」からの引用です。 Under the new license, cloud service providers hosting Redis offerings will no longer be permi

This document provides an introduction to thetopic ofsecurity from the point of view of Redis.It covers the access control provided by Redis, codesecurity concerns, attacks that can be triggered from the outside by selecting malicious inputs, and othersimilartopics. You can learn more about access control, data protection and encryption, secure Redis architectures, and secure deploymenttech
忘年会的な集まりの時に最近DynamoDBを使っているという話をしたら、Redisと何が違うのかと聞かれてとっさに答えられなかったので改めて少し勉強し直し。 Redisはかなり前にセッションストアと軽いレコメンデーションの実装くらいにしか使ったことなかったので詳細をすっかり忘れていたんです(言い訳) RedisはインメモリのKVSで高速だが基本的にはキャッシュ。 ディスクにデータを保存する永続化オプションも持つがデータの完全性は担保されない(不意のプロセス死亡などで容易に欠損が発生する)ランキングやレコメンデーションの実装に便利な機能を持つ。AWSのElastiCacheでフルマネージドなRedisを使える。AWSのDynamoDBはフルマネージドのKVSストレージ。 読み書きが高速。 レプリケーションやシャーディングが自動で行われるためスケーラブル。 集計は苦手(単純なカウントでも
Redis (“REmote DIctionary Service”) is an open-source key-valuedatabase server. The most accurate description of Redis is thatit's a data structure server. This specific nature of Redis has led to much ofits popularity and adoption amongst developers. 👋🏾 You are reading ArchitectureNotes! Crave some byte-sized bites of this?Join me onTwitter. Ifit's not completely burned down by now. 😬 R

概要 分散システムにおいて同じリソースにアクセスする際にロック(排他制御)する仕組みを分散ロックといいます。 ロックを用いる背景としては主に2つあり、 目的 説明 具体例 効率 同じ作業を不必要に複数回行わないため キャッシュのOriginへのリクエストを抑制したい(Cachestampede対策) 正確性 データの不整合が起きないようにするため トランザクション Redisを分散ロックに使う場合は主に前者のケースにおいて推奨されます。 環境 Redis 6.2.0 Redisでの分散ロック Redisで分散ロックを実現する方法は主に2種類あります。 SETNXを用いる Redlockアルゴリズムを用いる それぞれのケースを説明します。 SETNXを用いた分散ロック シングルインスタンスの場合SETNXを用います。 func (c *Client) updateCache(ctx con

なお、serversはredis://<ホスト名>:<ポート番号>/<db番号>/<ネームスペース>という命名規則です。SSL通信でRedisに接続する場合はredisの部分をredissにします。 たとえば以下のようになります。 config/initializers/session_store.rbRails.application.config.session_store :redis_store, servers: %w(redis://localhost:6379/0/session), #ホスト:localhost(docker環境の場合はredisコンテナ名) # ポート: 6379 #DB: 0番 # ネームスペース:session expire_after: 90.minutes, # 有効期限90分 key: "_#{Rails.application.cla

はじめに みなさん こんにちは、Thuatと申します。今年ラクスに入社しました1年目です。 この記事ではセッション管理としてRedisを使用するケースを紹介します。 Redisとは? Redis は簡単に言うと、メモリ上のKey-Valueストアです。 メモリ上にデータを格納しますので高速に動作します。 以下はインストールから簡単なデータの登録・取得までの手順になります。 Redisをインストールする $ wget http://download.redis.io/releases/redis-4.0.1.tar.gz $ tar xzf redis-4.0.1.tar.gz $ cd redis-4.0.1 $ make Redisサーバーを起動する $ src/redis-server 33507:C 25 Sep 23:21:32.201 # oO0OoO0OoO0Oo Redis

Do You Really Need Redis? How to Get Away withJust PostgreSQL There’s a tried-and-true architecture that I’ve seen many times for supporting your web services and applications: PostgreSQL for data storage Redis for coordinating background job queues (and some limited atomic operations) Redis is fantastic, but what if I told you thatits most common use cases for this stack could actually be achie

S3 is a Key-Value storeAmazon S3 は、一意のキー値を使用して、必要な数のオブジェクトを保存できるオブジェクトストアです。Amazon S3 オブジェクトの概要 -AmazonSimple Storage ServiceAmazon S3の基礎技術は、単純なKVS(Key-Value型データストア)でしかありません。Amazon S3における「フォルダ」という幻想をぶち壊し、その実体を明らかにする | DevelopersIOAmazon S3の実体はKey-Value storeという事実は、既にご存知の方々にとっては何を今更というようなことではありますが、それでも初めて聞くときには驚かされたものです。 さて、Key-Value storeと聞いて一般的に馴染みが深いのはRedisでしょう。そして、RailsにおけるRedisの役割としてCac

Redisは、Redis Ltd.が開発している、ネットワーク接続された永続化可能なインメモリデータベース。連想配列(キー・バリュー)、リスト、セットなどのデータ構造を扱える。いわゆるNoSQLデータベースの一つ。ライセンスはソースアベイラブル[6]。 Redisの名称はREmote DIctionary Serverを意味している[7][8]。DB-Engines.comの月間ランキングでは、Redisはしばしば最もポピュラーなキー・バリュー型データベース(英語版)として評されている[9]。また、Redisは2015年のユーザーレビューによる満足度と市場でのプレゼンスの評価でNoSQLデータベースで4位を[10]、Docker等の各種コンテナ上で使われているNoSQLデータベースとして1位を[11]、さらに上位50デベロッパーツール&サービスにおけるNoSQLデータベースとしても1位を
はじめに 今までなぁなぁにしてきたRedisをいまさらながらに勉強してまとめました。 Redisって聞いたことあるけど中身はよく知らないとか、プロジェクトでなんとなく使っているけど実はよく分かっていないなどの人向けのページです。 NoSQL Redisの前にまずはNoSQLから。 背景 ビッグデータの登場により、従来のRDBだけでは充分な処理ができなくなってきたことがNoSQL登場の背景にある。 ビッグデータの定義は色々ありますが、ここでは3V(Volume/Velocity/Variety)を満たすものをビッグデータと呼びます。 VolumeとVelocityの問題を解決するためにNoSQLが必要 Volume(大量データ)とVelocity(秒単位で大量データ)に関する問題を対処する場合、スケールアップ(メモリ増加、コア数増加、SSD化)とスケールアウトの2通りの方法がある。 しかしな

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

1リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く