問題タブ [predis]

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

php - プレディス。キリル文字の設定方法は?

次のコマンドを実行しようとしています。

このコマンドは、たとえば'orange cat'. しかし、'рыжий кот'次のエラーがあります:

Predis にログインを追加しましたPredis\Connection\StreamConnection::write()

そして、コンソールで出力を観察します:

Redisはすべてのキーをサポートしています。Predis でこの制限を克服するにはどうすればよいですか?

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

php - PHPでPredisライブラリを使用してredisサーバーが実行されているかどうかを確認する方法

Redis キャッシュを自分の Web サイトの 1 つに統合しています。Predis をクライアント側として使用しています。初期化用の静的クラスを作成しました。

redis サーバーが実行されているかどうかを確認する必要があります。

非常に多くのシンを試しましたが、うまくいきませんでした。例外をキャッチできません。

私のコードは

クラス内の上記の関数はエラーをキャッチできず、代わりにサイト全体でエラーを表示しています。

この状況で何をすべきか?

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

php - Predis でクライアント側のパーティショニングを検証する方法

Predis を介してクライアント側のパーティショニングを使用しようとしています。すべてが機能しているように見えますが、値が複数のサーバーに保存されていることを確認するにはどうすればよいですか? 各サーバーのすべてのキーを一覧表示できるようにしたいのですが、predis のドキュメントでその方法がわかりません。簡単な情報呼び出しを実行しようとしていますが、例外エラーが発生します:

$predisClient->info()「接続のクラスターでは 'INFO' を使用できません」という例外が生成されます。(これは、1 つのサーバーを使用している場合に機能します。)

$predisClient->executeRaw( ['CLUSTER INFO'] )「接続のクラスターで 'CLUSTER INFO' を使用できません」という例外が生成されます。

My$predisClientは次のように定義されます。

$predisClient = new Predis\Client(['tcp:://127.0.0.1', 'tcp://<REMOTE SERVER IP HERE>']);

私は redis 3.0.7 と predis 1.1 を使用しています。

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

php - PHP predis が Redis Sentinel に接続

文書化されたコードを使用して、サーバーpredisへの新しい PHP 接続をセットアップしました。正常に接続されていることを確認できますが、接続が存在するかどうかを簡単にテストする方法がわかりません。redis

実際に読み書きする以外に接続が良好かどうかをテストする方法はありますか? isConnected()動作していないようです。

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

php - Redis ネットワーク負荷

現在、私のアプリケーションはキャッシュ、キュー、およびセッションに redis を使用しています。キューとセッションでは問題は発生しませんが、キャッシュでは、memcached よりも多くのネットワーク負荷を使用しているようです。これはまったく同じコードベースで、違いはキャッシュ ドライバー (redis/memcached) だけです。

比較のために、サイトのピーク時に memcached は 250 Mbit/s しか使用しませんでしたが、redis ではネットワーク負荷が 1 Gbit/s を超える可能性があります。そのため、ロード バランサー デバイスの背後で redis を使用すると、そのロード バランサーと redis サーバー ネットワーク カード (現在は 1 ギガビット ネットワーク カードのみを使用) の最大スループットに達するため、問題になります。

追加情報として、私のアプリケーションは php laravel フレームワークを使用していますが、redis のクライアント ライブラリは predis を使用しています。

redis が memcached よりも 4 倍以上のネットワーク負荷を使用できる理由に興味があります。ロードバランサーとredisサーバー間で大量のデータを送信しないように、redis圧縮の方法を探しています。

以前にこの問題に遭遇したことがある場合は、親切にアドバイスしてください

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

php - オブジェクトの配列をRedis内に保存して取得する

PHP、Redis、および Predis を使用しています。オブジェクトの配列を Redis に保存してから取得しようとしています。配列を Redis に自然に格納することはできないことに気付きました。オブジェクトの配列を保存し、後で取得する最良の方法は何ですか? オブジェクトの配列は次のとおりです。

0 投票する
4 に答える
9791 参照

php - PHPでpredisを使用してすべてのキャッシュを削除する方法

predis ライブラリを使用してデータをキャッシュしています。を使用してキャッシュを個別に削除できます

$redis->cache->hdel(self::$cacheNamespace, $key);

しかし、キーを提供せずにすべてのキャッシュを削除する必要があります。predis でそれを達成する方法はありますか。