タグ

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

  • Redis の expire はいつ実際にデータを消しているのか? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く

    expire で指定した時間を過ぎたデータが実際に消されるタイミングはいつなのかということを調べた。 どこから調べたの 公式ドキュメントのexpireのところ から調べた で、どうやって消してるの Redis は expire で指定した時間が過ぎたデータを消すのにふたつの戦略を使ってる。 値が取得されるときに消すよ 値が取得されるときに、その値がすでに expire 過ぎてたら消す。 値が取得されなくても消すよ 値が取得されるときに消す感じだと、たまにしか取得されないデータとかあるいは全然取得されないみたなデータはいつまでも消えなくて困るよね 値が取得されなくても定期的に消そうねって感じで消す。Redis さんは以下のような感じで消してるらしい まずランダムに20個のキーを選ぶ 選んだキーのデータが expire 過ぎてたら消す 25 個より多くの key が expired だったら1

    Redis の expire はいつ実際にデータを消しているのか? - 猫型の蓄音機は 1 分間に 45 回にゃあと鳴く
  • Finally Redis collections are iterable - <antirez>

    Redis API for data access is usually limited, but very direct and straightforward. It is limited because it only allows to access data in a natural way, that is, in a data structure obvious way. Sorted sets are easy to access by score ranges, while hashes by field name, and so forth. This API “way” has profound effects on what Redis is and how users organize data into it, because an API that is da

  • Redis keyspace notifications

    Monitor changes to Redis keys and values in real time Keyspace notifications allow clients to subscribe to Pub/Sub channels in order to receive events affecting the Redis data set in some way. Examples of events that can be received are: All the commands affecting a given key. All the keys receiving an LPUSH operation. All the keys expiring in the database 0. Note: Redis Pub/Sub is fire and forget

  • RedisのHyperLogLogを使ってユニークユーザー数を推定する – Rest Term

    去年の内に公開することが出来ず、ずっと下書き状態だったエントリーをちょっとずつ消化していきたいと思います。ネタとして古いものも含まれていたりすると思いますがしばらくご辛抱ください。。 Redis 2.8.9から追加された HyperLogLog をちょっと触ってみました。 環境 * CentOS 7.0 (x86_64) / Intel Xeon E312xx (Sandy Bridge) 2.4GHz 仮想3コア / 2GB RAM * Redis 2.8.17 * redis-py (Python 2.7.5) HyperLogLogとは HyperLogLog (以下HLL)というアルゴリズムはデータマイニング(トラフィックデータの分析等)とか自然言語処理をやってる人ならともかく、Webアプリケーション開発者にはあまり馴染みがないかもしれません。 HyperLogLog – Wiki

    RedisのHyperLogLogを使ってユニークユーザー数を推定する – Rest Term
  • Redisの型に関する基本的な理解 | 丸窓 -日本を感じる生活-

    仕事でRedisを使うことになったのですが、RDBMSに慣れてしまっていたのでKeyValue型データベースの設計思想に馴染むのに時間がかかってしまいました。 せっかくなのでKeyValueの型について私の個人的な考え方を整理してみました。KeyValueを学ぶ人にとって少しでも足しになれば幸いです。 KeyValueデータベースの考え方 RDBであれKeyValueであれやっていることは「データの位置」と「データの内容」を保存しているだけですから理論的には同じ事ができるはずです。ただ、データ構造の違いからRDBとKeyValueには向き不向きがある様です。 RDBが得意な分野 ・条件をたくさんつけて絞り込む検索。 ・複雑なデータを多角的に分析する検索。 KeyValueが得意な分野 ・質問と答えが1対1に近いデータの検索。 ・単純なデータをただ取り出すだけの検索。 例えば都道府県から県庁

    Redisの型に関する基本的な理解 | 丸窓 -日本を感じる生活-
  • Redis 本番障害から学んだコードレビューの勘所

    Redis不適切利用による問題は番運用が始まってから顕在化することが多く、時限爆弾みたいな存在です。事前に防ぐにはコードレビュー段階で叩くしかありません。 Redisはスクリプト言語と相性が良く、適切に利用するとRDBと比較し驚くほど高速なプログラムを組むことができます。昨年尊敬する先輩にコードレビューで斧100くらい(レビューコメント)投げられて血まみれになりつつ学んだことを、まとめて書いてます。概要は『消えても良いデータならRedis』 Redisのメモリが溢れたら... (この話は事実ではなくファンタジーです。) 深夜電話で叩き起こされました。どうやらアクセス障害みたいです。 何人かで実機確認したら、まったくゲームが遊べない。データ不整合怖いのでメンテIN。 ほどなくしてRedisが溢れメモリ不足で新規書き込みが出来なくなっていると判明。サーバのメモリ容量は64GByteでこれ以

    Redis 本番障害から学んだコードレビューの勘所
  • Redis 2.8 の Sentinel の動きを検証してみた - chrone's external storage

    Redis 2.8 の redis-sentinel によるレプリケーションの自動フェイルオーバーについて、 比較的発生しそうな障害を想定して動作検証してみました。 結論から redis-server の自動再起動を構成している場合は要注意。 daemontools とか。 Master が落ちた後すぐ(例えば数秒)に再起動してきた場合、 再び Master としてレプリケーションに参加します。 よって、Master 再起動の前後でデータに差異があった場合でも、 再起動後のデータをもとに同期される為、データが破壊される可能性があります。 これを回避する為には、Sentinel により sdown/odown として認識されるのを待ってからインスタンスを復帰させるようにします。 復帰が早すぎると、障害(sdown/odown)ではなく再起動(reboot)と認識します。 レプリケーションの再

  • Redisのメモリ管理ポリシーについて

    オンメモリ KVS の Redis では、使用メモリに上限を設定し、閾値を超えた場合のポリシー(maxmemory-policy)を複数の中から設定できるようになっている。 パラメータとポリシーを整理したのが以下 使用メモリの上限値 redis.conf の次のパラメータで設定する。 maxmemory maxmemory-policy メモリ使用量が閾値を超えている状況でキー追加する場合の振る舞いを定義する。以下の 6 つの maxmemory-policy から選択できる。 volatile-lru : remove the key with an expire set using an LRU algorithm allkeys-lru : remove any key accordingly to the LRU algorithm volatile-random : remove

    Redisのメモリ管理ポリシーについて
  • コマンドリファレンス — redis 2.0.3 documentation

    古いキー oldname を新しいキー newname にリネームする。もし新しいキーがすでに存在する場合、上書きする。

  • 3分でRedisのpub/subを使ってみる【redis】 - DRYな備忘録

    pub/sub オンメモリのKVSでありながら、なおかつディスクに永続化する機能も持つRedisですが、あるクライアントプロセスから別のクライアントプロセスへ通知を送る、いわゆる「pub/sub」も提供しています。 「pub/sub」とは「publish」と「subscribe」の略で、日語訳するなら「発行」と「購読」。あるチャンネルに誰かがイベントを「発行」すると、そのチャンネルを「購読」している人すべてにそのイベントが通知される、といった意味。 ゴール 3分でredisのpub/subを体験してみる redisのインストールなどは MacにRedisをインストールしてことはじめ【redis】【MacOS】 - DRYな備忘録をご参考。 登場人物 redisサーバプロセス redisクライアントプロセス その1 redisクライアントプロセス その2 で、クライアントその1がSUBSC

    3分でRedisのpub/subを使ってみる【redis】 - DRYな備忘録
  • RedisInsight - The Best Redis GUI

    Build from anywhere Redis Insight is supported on multiple operating systems: Linux, Windows, and macOS. It seamlessly supports all our deployments, whether you use Redis Open Source, Redis Stack, Redis Enterprise Software, Redis Cloud, Amazon ElastiCache, or Azure Cache for Redis. The Redis Insight graphic UI helps you browse and interact with your data. Filter and visualize Redis keys, perform C

    RedisInsight - The Best Redis GUI
  • AWS News Blog

    Amazon SageMaker Geospatial Capabilities Now Generally Available with Security Updates and More Use Case Samples At AWS re:Invent 2022, we previewed Amazon SageMaker geospatial capabilities, allowing data scientists and machine learning (ML) engineers to build, train, and deploy ML models using geospatial data. Geospatial ML with Amazon SageMaker supports access to readily available geospatial dat

  • ElastiCacheのRedisクラスターをバックアップ/リストアする

    AWS ElastiCache の Redis クラスターに対して、定期実行・手動実行でスナップショットを作成できるようになった。 Announcing Backup and Restore capability for Amazon ElastiCache for Redis http://aws.amazon.com/jp/about-aws/whats-new/2014/04/24/announcing-backup-and-restore-capability-for-amazon-elasticache-for-redis/ この機能を使うと、Redis に閉じたキャッシュデータだけでなく、ElastiCache のクラスター情報(インスタンスタイプ、パラメータ、サブネットなど)も保存される。 新規にクラスターを作成するときにこのスナップショットを指定すると、キャッシュだけでなく

    ElastiCacheのRedisクラスターをバックアップ/リストアする
  • RedisにおけるRDBファイルのバックアップ | TECHSCORE BLOG | TECHSCORE BLOG

    こんにちは、鈴木です。 Redis におけるバックアップとリストアについて調べました。 データを永続化する方法については「Redisにおけるデータの永続化」で調べました。 RDB ファイルのバックアップ RDB ファイルでのバックアップ手順は以下のようになると思います。 BGSAVE コマンドを実行する(非同期での RDB ファイルの生成が開始される)。 RDB ファイルの生成が完了するまで待機する(完了したかどうかは、LASTSAVE コマンドの結果が変化したことや、RDB ファイルの i-node 番号が変化したことで判別可能です)。 (redis-check-dump で生成された RDB ファイルに問題が無いことを確認する。) RDB ファイルをコピーする(別サーバなど Redis が動作するサーバがクラッシュしても安全な場所に保管する)。 上記を一日一回など、定期的に実行します。

  • ElastiCache for Redisの新機能をためしてみた - クックパッド開発者ブログ

    インフラストラクチャー部 星野(@con_mame)です。 クックパッドでは、AWSを活用してサービスを行っています。 現在クックパッドでは、各種キャッシュにMemcachedやRedisを使用しています。 しかし、用途の多様化やアクセス数の増加などでこれらのサーバのインスタンス数が増加し管理コストが増加してきています。 特にRedisサーバのインスタンス数が増加しており、AWSのサービスの中でもキャッシュのサービスを提供しているElastiCache for Redisへの置換えを検討しています。 ElastiCache for Redisは、一部管理系のコマンドがrenameされており使用出来ませんが、通常のRedisと同じ物で、現在Version 2.6.13と2.8.6が使用出来ます。 SlaveにあたるものはReplication Groupという形で指定でき、Replicati

    ElastiCache for Redisの新機能をためしてみた - クックパッド開発者ブログ
  • Redis勉強会資料(2015/06 update)

    NTT Tech Conference 2022 での「Dockerからcontainerdへの移行」の発表資料です https://ntt-techconf.connpass.com/event/241061/ 訂正: P2. . 誤: ``` Ship docker run -it --rm alpine Run docker push ghcr.io/ktock/myalpine:latest ``` 正: ``` Ship docker push ghcr.io/ktock/myalpine:latest Run docker run -it --rm alpine ```

    Redis勉強会資料(2015/06 update)
  • 『redisをsentinelとAliasIPを利用して冗長化』

    どうも初めまして2012年度入社の社内ニート予備軍editnukiです。 普段は引きこもって WebSocketで監視もリアルタイムに を書いた社内ニートさんの下でコミュニティサービスのインフラをやっております。 運用面以外ではrpmパッケージ作ったりしています。 さて、題ですがコミュニティサービスでもredisを利用したいという声が最近多くなりいくつかのサービスではredisを導入しているのですがマスターとなるredisが死ぬと更新系が一切できなくなるため、マスターが死んだ時はアプリの向き先をスレーブに変更しなければなりません。 今までのredisの構成としては下図の様な構成でした。 redisの2.6系がリリースされた時に「sentinel」というフェイルオーバーの機能が追加されました。 詳細は公式ドキュメントをご参照ください。 フェイルオーバーしたとしてもアプリ側にマスターが切り替

    『redisをsentinelとAliasIPを利用して冗長化』
  • Redis-Commander

    What is Redis Commander? Redis-Commander is a node.js web application used to view, edit, and manage a Redis Database Download .zip Download .tar.gz View on GitHub Features

  • conma.me

    This domain may be for sale!

  • RedisのHash型を活用するとメモリ使用量が激減

    ユーザ情報のように ID をキーにした大量のデータを Redis で管理する場合、ひと工夫して Hash 型を使うと、単純に string 型を使った場合に比べてメモリ使用量が激減することを教わったので、追試してみた。 データモデル String 型を使う 各 ID のデータを Redis で管理する場合、素直にやるなら string 型で保存する。 > set object:123456 val123456 OK > get object:123456 "val123456" 非常に原始的なキーとバリューのペア。 Hash 型を使う Redis 2.2 以降では hash が機能改善され、フィールド数が一定数におさまり、フィールドのデータが一定サイズに収まると、メモリ使用量が平均して 1/5 に軽減されている。 Special encoding of small aggregate da

    RedisのHash型を活用するとメモリ使用量が激減