問題タブ [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.
redis - Predis シャーディング (コンシステント ハッシュ)
Predis は、クライアント側のシャーディング (キーの一貫したハッシュのサポート) を持っていると主張しています。http://github.com/nrk/predis
プロファイル (ノード) の配列への接続を使用してシャーディングを実行できますが、一貫性のあるハッシュではありません。別のノードをプールに追加すると、一部のキーが見つかりません。誰でもこれについて経験がありますか?
php 5.2 (および redis の php 5.2 バージョン) を使用します。
redis - predis での redis タイムアウト
私は php ( http://github.com/nrk/predis/の predis ) で redis を使用しており、頻繁にタイムアウトが発生しています。スタック トレースは次を示します。
これは一貫して発生し、その理由はわかりません。誰でも何か考えがありますか?
php - XAMPP ウィンドウに Predis をインストールするにはどうすればよいですか?
pearhub (pear install pearhub/predis) を使用して XAMPP Windows マシンに Predis をインストールしました。エラーメッセージなしでインストールされました。しかし、私が次のことをするとき
Predis クラスが見つからないと表示されます。これをWindowsに適切にインストールする方法はありますか?
php - PHP Web サイトで predis を読み込めません
回答: PREDIS_BASE_PATH のパスを predis/lib/ に変更する必要がありました。
PHP ファイル内に predis をロードしたいのですが、うまくいきません。predis github Web サイト (https://github.com/nrk/predis) で predis をロードするためのガイドに従っています。predisをロードするために使用しているコードは次のとおりです。
これが私が得るエラーです:
編集: predis ディレクトリ内のどのファイルをインポートする必要がありますか? フォルダーのアクセス許可を変更した後、変数 $file が保持しているものをエコーすることができます:「ファイル変数は: predis/Predis/Client.php」です。
https://github.com/nrk/predisのディレクトリ リストによると、client.php ファイルはありません。
php - Predis クラス '\Predis\Commands\StringSetExpire' が見つかりません
非常に奇妙な predis エラーがあります。
次のコードを使用しようとすると発生します。
ファイルが存在します。ディレクトリをその正確な場所に変更し、有効なファイルを開きます。だから、自分の道は正しいと感じています。AJAX コマンドを使用して、キー、値を redis データベースに設定しようとしています。奇妙なのは、「php filename」を使用して端末から php ファイルを実行すると、エラーがまったくスローされないことです。
php - 複数回発行するために predis を使用する方法
クライアント間で情報を複数回発行するにはどうすればよいですか?
つまり、あるユーザーから別のユーザーに情報を公開すると、彼は受け取って逆戻りしますが、これは一度だけです。
あるユーザーが別のユーザーに何かを送信すると、GET が読み込まれ、受信が停止するため、クライアントが 1 回だけでなく、永久に受信できるようにするにはどうすればよいでしょうか?
php - Predis プロトコル エラー: 無効なバルク長
私はpredisを使用していますが、このエラーが発生するまではすべてが素晴らしかったです:
なぜそれを取得しているのかわかりません。エラーはこのファイルにあります: このメソッドの Predis/Network/StreamConnection.php:
配列に対して strlen() を実行しようとすると失敗します。
これが失敗する原因となっているコードは次のとおりです。
配列を設定することはできませんか? もちろん、配列を設定できます。私が変更した唯一のことは、ファイルを UTF-8 にしたことでした。
どんな助けでも大歓迎です。
php - predis pear パッケージ osx のインストールに問題がある
osx ターミナルで pear を介して predis をインストールしようとすると、次のエラーが発生します。
pearhub を発見するために私がしなければならないことを知っていますか?
redis - Predis-接続プールからサーバーを削除する
たとえば、predis接続プールにN台のサーバーがあります。サーバーの1つがダウンすると、predisが機能しないことがわかりました(つまり、サーバーSiのいずれかがダウンしていると、新しいpredis / client(s1、s2、...)が正常に返されません)。まず、障害が発生したサーバーのエントリを手動で削除する必要があります。これは、このpredisが作業を再開した後でのみです。predisはコンシステントハッシュ法を使用していると主張しているので、これはpredisが応答していない(および失敗した)サーバーを自動的に検出し、失敗したサーバーに保存されているキーを他の稼働中のサーバーに配布する場合ではないでしょうか?
php - PredisクライアントのPHPUnitモックが私の期待と一致しないのはなぜですか?
PHPUnitテストでPredisクライアントをモックアウトしようとしています。モックアウトしようとしたメソッドを呼び出すと、テストの最後にPHPUnitから期待値が満たされていないことが通知されます。
これが私の問題を再現するコードサンプルです:
}
そして、PHPUnitは、メソッドが呼び出されなかったと見なします。
1)MockRedisTest :: testMockRedisメソッド名の期待値は、1回呼び出されたときと同じです。メソッドは1回呼び出されると予想されていましたが、実際には0回呼び出されました。
なんで?Predisクライアントがredisコマンドに一致するメソッド呼び出しに応答するために__callを使用しているように見えるためですか?
更新:__callメソッドと関係があるという印象を受けました。コードをこれに変更すると、次のように機能します。
しかし、私はこれに満足しているとは言えません。メソッドをプロキシするために__callを使用するクラスをモックするより良い方法はありますか?