問題タブ [redis-cli]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
16 に答える
582251 参照

redis - 利用可能なすべてのキーを取得するRedisコマンド?

データベース内のすべてのキーを取得するための Redis コマンドはありますか? いくつかの python-redis ライブラリがそれらを取得しているのを見てきました。しかし、redis-client から可能かどうか疑問に思っていました。

0 投票する
2 に答える
17337 参照

redis - リストのサイズを知らずに redis-cli を使用してリスト内のすべての値を出力する方法は?

redis-cli で、リストのサイズを事前に知らなくても、リスト内のすべての値を出力するコマンドは何ですか? わかりlrangeましたが、開始インデックスと終了インデックスに名前を付ける必要があります。

0 投票する
2 に答える
18220 参照

redis - Redis-Cli を使用してレイテンシを理解する

このツールを使用してredis-cliredis-server レイテンシーを観察しています。次に例を示します。

問題は、これらの値が実際に何を意味するのかということです。ツール自体のヘルプドキュメントから入手できるものを超えて、これに関するドキュメントを見つけるのに苦労しています。

0 投票する
1 に答える
39138 参照

python - Redis Pubsub とメッセージ キューイング

私の全体的な質問は次のとおりです。PubSub に Redis を使用する場合、サブスクライバーがメッセージを読み取る速度よりもパブリッシャーがメッセージをチャネルにプッシュすると、メッセージはどうなりますか?

たとえば、私が持っているとしましょう:

  • 2 メッセージ/秒の速度でメッセージをパブリッシュする単純なパブリッシャー。
  • 1 msg/sec の速度でメッセージを読み取る単純なサブスクライバー。

私の素朴な仮定は、サブスクライバーは Redis に公開されたメッセージの 50% しか見ることができないということです。この理論をテストするために、次の 2 つのスクリプトを作成しました。

pub.py

sub.py

結果

  • 最初にを実行したsub.py直後に を実行すると、実際にはすべてのメッセージ (1 ~ 10) が 1 秒間隔で次々に表示されるpub.pyことがわかりました。sub.py私の最初の仮定は間違っていました。Redis はメッセージをキューに入れています。さらにテストが必要です。
  • 最初に実行してからpub.py5 秒待ってから実行すると、メッセージの後半 (5-10) しか表示されないsub.pyことがわかりました。sub.py当初はこれを想定していましたが、以前の結果を考えると、メッセージがキューに入れられていると考えていたため、次の結論に至りました...

結論

  • Redis サーバーは、クライアントごと、チャネルごとにメッセージをキューに入れているように見えます。
  • クライアントがリッスンしている限り、メッセージの読み取り速度は重要ではありません。接続されている限り、メッセージはそのクライアント、そのチャネルのキューに入れられたままになります。

残りの質問

  • これらの結論は有効ですか?
  • その場合、クライアント/チャネル メッセージはどのくらいキューに入れられたままになりますか?
  • もしそうなら、redis-cli info(各クライアント/チャネルごとに)キューに入れられているメッセージの数を確認するコマンドはありますか?
0 投票する
2 に答える
6425 参照

redis - 特定の .rdb ファイルで redis を起動するには?

パスワードなしでredisをインストールしました。次に、パスワードを入力しようとしましたが成功せず、サーバーから redis に関連するものをすべて削除することにしました。その後、redisをもう一度インストールし、パスワードを正常に設定しました。問題は、新しいデータベースを作成していて、古いデータベースから読み取っていないことです。sabe ディレクトリから同じコマンドを実行しています。$~/ redis-server

また、次のように新しい dump.rdb ファイルを生成しているかどうかを確認しようとしました。

dump.rdbしかし、使用したい正しいファイルを見つけるだけです。

最後のデータベースをこの新しいデータベースにインポートする方法はありますか? または、correct dump.rdbファイルを使用してサーバーを起動する方法はありますか?

0 投票する
0 に答える
379 参照

powershell - Windows での Redis エンコーディング

Windows で PowerShell コンソールから Redis をテストしてきましたが、ロケール分音記号 (値はフランス語) でキーを取得できません。別の SOF の質問how-to-save-and-retrieve-string-with-accents-in-redisから--rawオプションを発見しましたが、役に立ちません。

[redis-2.8.17、PoSH-4 ネイティブ コンソールまたはcmder、win-8.1]

動作は Redis REPL とは少し異なります。

しかし

では、すべてのアクセントを設定および取得するには、どのエンコーディングを使用すればよいでしょうか? 不可能な場合、PowerShell から "t\xe9l\xe9phone" を正しくエンコードする方法は? それは普通のユニコードですか?

0 投票する
1 に答える
3033 参照

linux - TTL で redis キーを見つける方法

TTL is のいずれか/すべての redis キーを検索したい-1。これは、有効期限が設定されていないすべてのキーです。私はいくつかの GUI クライアントを試しましたが、どれもこの機能に問題があるようには見えません。

コマンドラインからそれを行う方法を提供しているように見えるこの回答を見つけました。しかし、ローカルまたはリモートの redis ホストで試してみると、「引数が無効です」というエラーが表示されます。

ローカル redis-cli keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

リモート $redis-cli -h ... -p ... -a redis>> keys "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL -eq -1 ]; then echo "$LINE"; fi; done;

私は何を間違っていますか?これを行うより良い方法はありますか?