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
この記事は、著者の許可を得て配信しています。 Do You Really Need Redis? How to Get Away with Just PostgreSQL Webサービスやアプリケーションに対応するために、何度も見てきた試行錯誤のアーキテクチャがあります。 データストレージとしてのPostgreSQL バックグラウンドのジョブキュー(および限定的なアトミック操作)を調整するためのRedis Redisは素晴らしいものですが、このスタックの最も一般的な使用例を実はPostgreSQLだけで実現できると言ったらどうでしょう? 使用例1:ジョブのキューイング 私が見てきたRedisの最も一般的な使い方は、Webサービスからバックグラウンド・ワーカーのプールへのジョブのディスパッチ調整でしょう。そのコンセプトは、(おそらく入力データを使って)実行されるべきバックグラウンド・ジョブの
More than "Hello World" in Docker: Build Rails + Sidekiq web apps in Docker This is the first post in the More than "Hello World" in Docker series. The series will help you ready your app: from setting it up locally to deploying it as a production-grade workload in AWS. Build Rails + Sidekiq web apps in Docker - we are here Deploy Rails in Amazon ECS Concepts Push an image to ECR Create the RDS da
なお、serversはredis://<ホスト名>:<ポート番号>/<db番号>/<ネームスペース>という命名規則です。SSL通信でRedisに接続する場合はredisの部分をredissにします。 たとえば以下のようになります。 config/initializers/session_store.rb Rails.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
概要 Go言語でRedisを使う際に選択肢に挙がるのがgo-redisです。 今回はgo-redisでTimeoutを設定する際に注意すべきことをまとめました。 手前味噌ですがBlast Radius of Failureを最小にするためにTimeoutを短くすることを1つのテクニックとしても紹介しています。 W杯全64試合無料生中継で「落ちない」を実現。「小さく壊れる」ために行った負荷・障害・セキュリティ対策とは?【ABEMA DEVELOPER CONFERENCE 2023#3】 | レバテックラボ(レバテックLAB) しかし短すぎるとそれはそれで問題が発生することになるので、その理由を説明します。 環境 redis/go-redis v9.0.5 go-redisのTimeoutの種類 go-redisではtimeoutとして以下があります。 種類 説明 デフォルト値 DialTi
ioredis is a robust, full-featured Redis client that is used in the world's biggest online commerce company Alibaba and many other awesome companies. Full-featured. It supports Cluster, Sentinel, Streams, Pipelining, and of course Lua scripting, Redis Functions, Pub/Sub (with the support of binary messages). High performance 🚀. Delightful API 😄. It works with Node callbacks and Native promises.
ついに本日(2020/04/30)、Redis 6.0がGAになりました。 今回も今までの例にもれず、release noteベースに簡単に解説していきます。 過去の記事 Redis 4.0の目玉機能解説 - Qiita Redis 5.0 Update解説 - Qiita あなたは誰 『niconico』が利用している株式会社KADOKAWA Connectedのプライベートクラウドで、Redisのマネージドサービスなどやってます。 https://engineering.kdx.co.jp/ 過去のRedisメジャーバージョンアップ 今までもRedisでは大きな新機能が出るたびに、メジャーバージョンアップを行ってきました。 Redis 3系:Redis Cluster GA Redis 4系:Redis Module対応 Redis 5系:Stream型対応 今までのメジャーバージョン
本稿では、Pacemaker/Corosyncを使用してRedisのクラスタを構成する方法をご紹介します。 RedisはSentinelでマスター・スレーブ構成の管理を行うことができますが、最低3個のSentinelが必要になります。また、仮想IPについては自前でスクリプトを作成するなどの工夫が必要になります。 2ノードで完結させたい場合や、その他のリソースもあわせて管理したい場合はPacemaker/Corosyncを使用するのが便利です。Pacemakerには標準でRedisのリソースエージェントが含まれているため、比較的容易にRedisのクラスタを構築することができます。 前提 以下の環境を前提とします。今回はOS標準のPacemakerを使用します。 OS: CentOS 7.4 パッケージ: redis-5.0.5-1.el7.remi pacemaker-1.1.19-8.el
本ページでは ElastiCache を構築・設定します。 このページは AWS 基礎入門チュートリアル の一部です。 AWS チュートリアル全体は AWS 基礎入門チュートリアル を参照してください。
はじめに 今後PaaS上での開発に移行するにあたり、Node jsを利用していくことになりました。 その際に使うredisクライアントのライブラリを調査してるのですが、そういやこういうものの調べ方や考えをまとめたことないなと思ったので、後輩とかに共有するためにちょっとまとめてみようと思います。 候補 → ioredis or node-redis まずは候補を探します。 redis公式 がおすすめを提示してくれていましたので、そのまま参考にします。 星マークがおすすめ。ニコちゃんマークは開発が活発なもの(過去6ヶ月で動きがあったもの)です。 以下3 repisitoriesがおすすめに上がっていますね。 ioredis node-redis tedis 最後のtedisだけスター数が少なく、以下redislabsのdocument referenceにもtedisが乗っていないので、こちら
Getting StartedCreateOverview - All Quick StartsRedis FunctionsRedis on Azure CacheOverviewRedis on Azure CacheRedis on AWSOverviewRedis on AWSDevelopOverviewJavaOverviewGetting StartedSpringOverviewRedis OM TutorialIntroductionWorking with JSONWorking with HashesRedis and Spring CourseOverviewUp and RunningSpring Data RedisMapping & RepositoriesUser Roles & Secondary IndexesBooks, Categories & Th
Redis 7.0 Is Near With "Significant Performance Optimizations" Written by Michael Larabel in Programming on 31 January 2022 at 02:16 PM EST. 13 Comments The first release candidate of Redis 7.0 was made available today. Getting us excited about this updated in-memory key-value database are "significant performance optimizations" among other improvements. Redis 7.0-rc1 comes with performance optimi
Amazon Web Services ブログ データ階層化による Amazon MemoryDB for Redis クラスターのコスト最適化 この記事は Roberto Luna Rojas と Karthik Konaparthi、 Qu Chen によって投稿された Scale your Amazon MemoryDB for Redis clusters at a lower cost with data tiering を翻訳したものです。 Amazon MemoryDB for Redis は、インメモリパフォーマンスとマルチ AZ 耐久性の両方を提供する Redis 互換のデータベースサービスです。MemoryDB は、ユーザーセッションデータ、マイクロサービス間のメッセージストリーミング、支払い処理、ゲームランキング、モノのインターネット (IoT) など、耐久性のあるス
Binbin Zhu BinBin Wang, of Tencent, is responsible for nearly 25% of the commits to the project. Some of the contributors without a readily identifiable employer surely are Redis employees, but it's clear that the company has not been working alone. (Note that some single-digit contributors were omitted.) Changing distribution model So it should be apparent that code contribution is beside the poi
概要 ElastiCache (Redis)のクラスターモードの作り方を確認した時のメモです。 環境 ElastiCache Redis 4.0.10 参考 Redis 用 Amazon ElastiCache Amazon ElastiCache のドキュメント Command reference - Redis Redis latency problems troubleshooting redis-cli, the Redis command line interface ElastiCache (Redis)をクラスターモードで作成する クラスターを作成する 「クラスターモードが有効」にチェックを入れます 「シャード数」に3、「シャードあたりのレプリカ」に1を指定すると、マスターノードが3つ、それぞれのマスターに1つのスレーブノードが作成されるので、計6ノードが作成されます。 1つ
スケーラブルなWebサービスのよくある設計はWebサーバの前段にロードバランサーを設置し後段にWebサーバを複数台配置するというものである。通常のWebサービスはステートレスなHTTP(もしくはHTTPS)通信のためこの方式で問題なく稼働する。 しかし、ステートフルなWebSocket通信においては以下の課題が存在する。 ロードバランサーがWebSocket通信を判別しセッションを保持しているバックエンドサーバに転送できなければならない。自分以外のWebSocketサーバが管理しているクライアントにはWebSocket通信を行うことができない。 そこで本稿では以下の方法でこの2つの課題の解決を試みる。 WebSocket対応のロードバランサーを使う。Pub/Subを使う。全バックエンドサーバはsubscribeしておき、情報を送信したいサーバはpublishする。 この方法をオンプレミスで
Relational databases are a cornerstone of most applications. When it comes to scalability and low latency though, there’s only so much you can do to improve performance. Even if you add replicas to scale reads, there’s a physical limit imposed by disk based storage. The most effective strategy for coping with that limit is to supplement disk-based databases with in-memory caching. The ElastiCache
2022年12月10日紙版発売 2022年12月7日電子版発売 林昌吾 著 B5変形判/480ページ 定価3,696円(本体3,360円+税10%) ISBN 978-4-297-13142-5 Gihyo Direct Amazon 楽天ブックス ヨドバシ.com 電子版 Gihyo Digital Publishing Amazon Kindle ブックライブ 楽天kobo honto 本書のサポートページサンプルファイルのダウンロードや正誤表など この本の概要 インメモリデータベース,Redisの解説書です。 Redisは高速な応答性などからRDBMSでは対応しきれないデータの格納などに用いられます。高速さと柔軟さを併せ持ち,数多くのプログラミング言語から利用できます。 RDBMSの前段に配置してキャッシュとして用いるときの圧倒的な応答性能,Redisの多様なモデルによるアプリケーシ
AWS運用 ElastiCache Redis で PHP のセッション情報を保存してみよう Amazon ElastiCache は、クラウド内の分散インメモリデータストアまたはキャッシュ環境を簡単に設定、管理、拡張できるウェブサービスです。よく使用されるケースとしてはWEBサービスでセッション情報等のキャッシュを管理する事があげられます。 今回は ElastiCache を利用するメリットと、実際に ElastiCache Redis でセッション情報を管理する一例をご紹介します。 AWS運用 ElastiCache Redis でセッション情報を管理するメリット 冒頭で述べたように、ElastiCache Redis はWEBサービスでセッション情報等のキャッシュを管理する場合に広く用いられています。今回はそのようなケースにおいて ElastiCache Redis を導入するメリッ
BIツールを費用抑えめでマネージドに設営したかったので、cdk + Fargate + Redashという中々茨の道らしいものをやってみました。 Athenaで集計する依頼を度々受けることが有り、事ある毎に依頼を受けるよりは「お好きにどうぞ」と作業環境を利用可能にする方が手間は省けます。問題は、IAMロールの発行が面倒な点です。 IAMロールをあれこれするコマンドを作っていたところ、「集計した結果がグラフ化できるといいね」という声があり、ならBIツールを立ててみるかと一念発起してみました。 コストを取って楽をするか、設置作業量をとって利用費に目を瞑るかの2択で、今後継続するなら断然後者だよねとcdkによるFargateを利用したRedash設営を試してみました。 念頭に置いておくべきこと Redash設営に伴って、いくつか肝に命じておくことがあります。 第一にserver、その後creat
Redis Renamed to Redict Redict was originally created by Salvatore Sanfilippo under the name "Redis". Around 2018 he started losing interest in the project to pursue a science fiction career and gave stewardship of the project to Redis Labs. I think that was an unfortunate move because their goal is mainly to extract profit from the software project rather than to uphold the ideals of Free and Ope
JSON support for Redis The JSON capability of Redis Stack provides JavaScript Object Notation (JSON) support for Redis. It lets you store, update, and retrieve JSON values in a Redis database, similar to any other Redis data type. Redis JSON also works seamlessly with Search and Query to let you index and query JSON documents. Primary features Full support for the JSON standard A JSONPath syntax f
redis-mini-server.js `�3 RV �� RV const net = require('net'); const server = net.createServer(); const CRLF = "\r\n"; const map = new Map(); server.on("connection", (socket) => { socket.on("data", (command) => { const c = command.toString(); const cs = c.split(CRLF); console.log(cs); const com = cs[2]; const arg1 = cs[4]; const arg2 = cs[6]; if (com === "set") { set(arg1, arg2); } if (com === "get
Redis Best Practices Guide を参照することが多いので日本語訳を作成しました https://redis.com/redis-best-practices/ 「Redisは数え切れないほどの使い方ができますが、よくある問題を解決するために採用されるパターンがいくつもあります。そこで、これらの問題を解決するためのベストプラクティスと思われる一般的なパターンを集めてみました。このコレクションは網羅的なものではありませんし、Redisの唯一の使い方を示すものでもありませんが、Redisで解決すべき問題に取り組む際の最初の一歩になればと思います。」 (序文より) おかしなところがあれば教えていただければ幸いです 金銭的サポートも受け付けています よろしくお願い致します
Vector search Learn what you need to go from beginner to GenAI expert Get started
Name change reflects the central role the company maintains in leading the evolution of open source Redis from a popular caching system into the leading real-time data platform Mountain View, August 11, 2021—Today, Redis Labs announced the company is now registered as Redis, dropping “Labs” from its name. The change signals the maturation of the company and the Redis open source project, which it
Redis の KEYS コマンドは危険 Redis には Key を全走査して検索する KEYS コマンドがあります。 開発・運用中、稀に良く Key を検索したい事象に出くわすのが「Redisあるある」なのですが この KEYS コマンドは、走査対象となる KEY 数に比例して Redis の処理をブロッキングします。 Redis にまだ不慣れなとき、開発環境では KEY 数が少なく問題にならず、本番環境で KEYS コマンドを発行してしまい障害を起こしてしまった方が少なくないのではないでしょうか? コマンド名をリネームして KEYS の誤爆を抑止する Redis には設定値に rename-command があります。 redis/redis.conf at 6.0 · redis/redis · GitHub 下記のように redis.conf に追記して、 Redis を再起動し
TL;DR Amazon ElastiCache for Redisにおいて利用すべきエンドポイントは、ノードの数やクラスターモードが有効かどうかで異なる シングルノードの場合 ノードのエンドポイント(Endpoint)を読み書きのオペレーションに使う PrimaryEndpointでもいい気も クラスター構成の場合 クラスターモードが有効の場合は、ConfigurationEndpointを使う クラスターモードが無効の場合は、書き込みにはPrimaryEndpointを、読み込みにはReaderEndpointを使う Amazon ElastiCache for Redisのドキュメントをさらっと読んでみても、どういう時にどのエンドポイントを使うのかがよくわからなかったので、ちゃんと読み込んでみようかなと。 で、その情報を整理するのが、このエントリの目的です。 Amazon Elast
Amazon ElastiCache for Redis data tiering on Graviton2-based R6gd nodes now supports auto scaling to automatically adjust capacity to maintain steady and predictable performance at the lowest possible cost. You can automatically scale your cluster horizontally by adding or removing shards or replica nodes. ElastiCache for Redis data tiering uses AWS Application Auto Scaling to manage scaling and A
[Note: this post no longer describes the client side implementation in the final implementation of Redis 6, that changed significantly, see https://redis.io/topics/client-side-caching] The New York Redis day was over, I get up at the hotel at 5:30, still pretty in sync with the Italian time zone and immediately went walking on the streets of Manhattan, completely in love with the landscape and the
はじめに とあるサービスでランキング計算をする実装を組んでいた。ふと、アプリケーション側ではなく、Redisに任せることもできることを思い出したので、調査がてらサンプルコードを書いたので記事にまとめる。 実現したいこと スコア情報を持つデータがある。Redisを使用して同点順位によるランキングを作成したい 開発環境 Redis 4.0.11 Ruby 2.6.1p33 gem redis 4.1.2 実装方法 今回は動作検証のためRubyと redis gemを使用して実装をした。後ほどサンプルコード全文を共有する。 準備 まずは redis gemを利用してRedisに接続をする。Redisに接続したら、以降は REDIS オブジェクトを通じてRedisを操作する。 require 'redis' # Redisに接続 REDIS = Redis.new(host: 'localhost
地図・GIS・位置特定に関する連載の4日目のエントリーです。最初はブラウザの座標を取得するAPIとか、IPアドレスから場所を推定するGeoIPを使って、近い場所の人を探すサービスでも作ってみようかと思っていました。Quad-Treeみたいなゲームでよくある座標系を収めるデータ構造を使って、近くのメンバーを探す機能とかを作ろうと思っていましたが、ふと「座標系をそのまま格納して検索できるデータベースとかありそうだな」と思って調べたところRedisがヒットして横道にそれてしまったのでそのまま横道を突き進んでみました。 Redisは2010年ぐらいに有志でドキュメント翻訳したりしたりして、チョットワカル程度でしたが、久々にドキュメントを見ていたら座標情報を保持したり検索したりするコマンドが増えていました。その辺りを少し調べてみました。 Redisのジオメトリ機能Redisのジオメトリ関係のコマンド
5月25日、Fedora Magazineに掲載された「RedisからValkeyへの移行」と題した記事が人気だ。 この記事では、Redisのライセンス変更に伴い、代替プロダクトとしてのValkeyに注目が集まる中、その方法について詳しく紹介されている。 以下に、その内容を簡潔にまとめて紹介する。 背景 数週間前、Redisの開発会社はブログ投稿で、今後のRedisプロジェクトのバージョンがBSD-3条項ライセンスからRSALv2/SSPLv1の二重ライセンスに移行することを発表した。この変更により、Redisはもはやオープンソースとして認められなくなる。これに応じて、複数のRedisの既存の貢献者とメンテナがLinux Foundationの新プロジェクト「Valkey」を立ち上げた。ValkeyはRedisのオープンソース版として機能し、同じコードベースから派生している。 移行方法 F
駅メモ!チームエンジニアの id:yumlonne です。 この記事では駅メモ!で使っていた Memcached を廃止し Redis に統合した経緯や流れを紹介します。 記事内で提供するサンプルコードは、駅メモ!の実装に合わせ Perl となってます。 簡単なコードなので Perl に詳しく無い方でも十分理解できると思います。 KVS 統合の背景 駅メモ!は AWS を使ってサービスを提供しています。 統合前は Amazon ElastiCache で Memcached と Redis の両方を運用していました。 Memcached はプライマリノードのみ、Redis はプライマリノードとレプリカノードそれぞれ 1 台の構成でした。 それとほとんど同じ構成が他に 2 セットあるため、全体を見ると Memcached は 3 ノード存在していました。 Memcached は m6g.la
概要 ひょんなことをキッカケにGo言語で簡易的なRedisのサーバを書いたので簡単にまとめようと思う。 https://github.com/0n1shi/beehive-redis 動作としては以下のように普通のRedisサーバとなんら変わりなく、redis-cliからも接続することができる(コマンド数は極端に少ないが)。 # terminal 1 $ beehive-redis run --config conf.yaml 2022/02/20 09:17:27 starting Beehive Redis server ... # terminal 2 $ redis-cli 127.0.0.1:6379> keys * (empty array) 127.0.0.1:6379> set msg "hello world" OK 127.0.0.1:6379> get msg "he
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く