問題タブ [redis-py]

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 投票する
1 に答える
6350 参照

python - redis-py パイプラインにはいくつのコマンドを含めることができますか?

パイプラインを使用して、プログラムと redis サーバー間のやり取りの数を減らしたいと考えています。
パイプラインで多くのコマンドを設定できますが、パイプラインで設定できるコマンドの最大数を説明するドキュメントが見つかりませんでした。

何かアドバイスはありますか?前もって感謝します。

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

python - redis-py パイプライン hset が保存されない

pipeline2 つの異なるハッシュを保存するために on redis-py を設定しました

実行前のパイプラインは次のとおりです。

答えは次のとおりです。

ということで、16個のキーを保存しているようです。

実行self.app.redis.keys('*')時にキーも実行時にも持ち込まないself.app.redis.hget('article/1')

私が見逃しているものはありますか?

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

python - Redis: 中間セットを保存せずに SINTER 結果の SCARD を見つける

redis の 2 つの大きなセットの交点の長さ (SCARD) が必要です。

だから、これは私が望むものを達成します:

ただし、セットが大きいため、中間値を保存したくありません。概念的に私が欲しい:

おそらくLuaスクリプトを使用して、単一のコマンドでこれを実現する方法はありますか? または、アプリケーション言語でスクリプトを作成し、完了したら中間値を削除するのが最善の策ですか? たとえば、python と redis-py を使用する場合:

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

python - Redis と StrictRedis の API の違いは何ですか?

私は redis.py を使用してプロジェクトに取り組んでいます。アプリを Redis クライアントに接続すると機能しますが、StrictRedis で失敗しました。

だから、私は2つの違いを知りたいのですが、満足のいく答えはありませんでした.

私のプロジェクトはこちら: https://github.com/kxxoling/librorum中国語の注釈で申し訳ありません!

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

python - redis-py を使用したクライアント側の負荷分散

ElastiCache で 1 つのマスターと 2 つのスレーブを使用して Redis をセットアップしています。マスターのフェールオーバーは既に処理されていますが、次のことを確認したいと思います。

  • 読み取りは 3 つのサーバー間で負荷分散されます
  • 書き込みはマスターにのみ行われます
  • 読み取りが失敗した場合は、別のノードで再試行します

redis-pyでこれを実現するのに苦労しています:

1) 接続プーリングをサポートしています (そして、この方法でクライアント側のシャーディングをサポートできることを示唆しています) が、エラー時に再試行するかどうかはドキュメントに明記されていません。

2) あるタイプの接続が読み取り用で、別のタイプの接続が書き込み用であるかどうかを指定する明確な方法を提供しません... 2 つの StrictRedis インスタンスを作成できると思いますか?

これを処理する最善の方法についてのアイデアはありますか? これに取り組んでいるプロジェクトがいくつかあるようですが、過去 2 年間にコミットしたプロジェクトはありません。

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

python - ソート済みセットを通知システムに使用する

sorted setsユーザー通知を保存するためにredisを使用しています。しかし、通知システムを行ったことがないので、ロジックについて質問しています。

通知ごとに 4 つのものを保存する必要があります。

  • post_id
  • 投稿タイプ - A/B
  • 可視 - はい/いいえ
  • チェック - はい/いいえ

私の質問は、このタイプの構造をソート済みセットに格納するにはどうすればよいですか?

このタイプのものをredisで行うためのより良い方法はありますか? 上記の場合、各要素に 4 つのものを保存しています。サーバー言語ではアンダースコアで分割する必要があります。

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

python-3.x - redis-py では、redis.StrictRedis.pipe はスレッドセーフですか?

短い質問。
redis-py を使用して redis サーバーにいくつかのキーを設定していますが、奇妙な動作が発生しています。
StrictRedis.pipe と関係があると思われます。コマンドを同じパイプにプッシュする複数のスレッドがあり、しばらくすると、このパイプで実行を実行し、そのすべてのコマンドを実行します。パイプがスレッドセーフかどうか知りたいですか? 同期メカニズムなしで複数のスレッドからコマンドをプッシュできますか?

ありがとうございました。

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

python - Python のシグナル ハンドラ内でブロッキング redis 呼び出しを起こす

シグナル処理 (この場合は SIGUSR1) を介してリストでブロックされた pop (redis クライアント) をウェイクアップする必要があります。

サンプルコードは次のとおりです。

このコードの出力は

そして停止

その他の情報:

  • ハンドラー内のプッシュの結果は 1 です (要素が実際にリストに挿入されたことを意味するはずです)
  • 並列 redis-cli シェルを開くと、シグナル処理の後でも「LRANGE」で要素が表示されません
  • redis-cli コマンド "CLIENT LIST" は blpop クライアントを表示します

なにが問題ですか?前もって感謝します


アップデート

プッシュを複製すると、機能します:

また、redis キューの最後に他のメッセージは表示されません。初押しが消えそう…

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

data-structures - セットをハッシュの値として redis に保存する

私は何千もの行で構成されるファイルを持っています(それぞれに3つのフィールドが含まれ、最初はakの長さの文字列、次に数字、3番目は別の文字列です)の形式:-

以下を使用して、redis-py を使用してロードします。

のようなマッピングを形成する

k (最初の 3 つのレコードに共通する ak の長さの文字列) の反復情報を削除することにより、フォームの値を格納するつもりです。

セットを別のキーの下に格納する値を格納するという考えがあります。これは、ハッシュの k の値として機能します。それよりも良い方法はありますか?