問題タブ [phpredis]
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 - マスター redis インスタンスでロング トランザクションまたは Lua スクリプトを実行すると、読み取り専用スレーブでブロックされますか?
マスター Redis サーバー キーの最新のコピーにアクセスできるようにしたいと考えています。読み取り専用コピーをポーリングするため、完全に最新である必要はありませんが、マスター インスタンスで実行するトランザクションと Lua スクリプトが、キーをスキャンするときに読み取り専用インスタンスでブロックされることは望ましくありません。私の読み取り専用インスタンスで。
誰でもこの動作を確認/拒否できますか?
php - phpredisを使用してPHPで同じパターンの複数のredisキーを削除するにはどうすればよいですか?
phpredisを使用して、次のようにページネーションにいくつかのデータを保存しました。
と1
は2
ページ番号です。ワイルドカードを使用して複数のキーを取得できるというドキュメントを読みました。
しかし、誰かが新しいレビューを投稿したときに、ワイルドカードを使用してすべての古いキーを削除することはできますか? 次のようなことはできますか:
しかし、うまくいきませんでした。
redis - ソートされたセットのデータを変更するには?
Redis でソートされたセット データ型を使用します。コマンドでデータを追加しますzadd
。データの追加は JSON 形式です。
このソートされたセットの値をスコアで変更するにはどうすればよいですか? JSON 値を取得して 1 つのフィールドを変更し、この並べ替えられたセットを更新する必要があります。
同じスコアでもう一度データを追加しようとしましたが、重複が発生します
php - 保存ハンドラーが見つかりません - redis クラスター
CentOS 7.1 (最新) および PHP 5.6 (remi repo) と Apache (2.4.6) の上で redis 安定版 (v3.0.4) で phpredis (redis_cluster ブランチ) を使用しています。
3 つのマスターでクラスターを使用する (テストのみ)。
私の redis.ini には以下が含まれます:
Redis (クラスター) で PHP を使用して単純なストア セッションをシミュレートする:
one.php:
two.php:
Apacheエラーでこれを取得しました:
問題の可能性があるアイデアはありますか?
php - Google App Engine に PhpRedis をインストール/使用するにはどうすればよいですか?
Google App Engine で超高速の PhpRedis を使用したいのですが、可能であればどうすればよいですか?
amazon-web-services - redis.so モジュールがロードされていません
Amazon Web Services に EC2 インスタンスがあり、同じ VPC に ElastiCache (Redis) のインスタンスもあります。私の EC2 インスタンスには、Amazon Linux AMI 2015.09 がインストールされています。また、プリフォークではなく、mpm_worker_module で動作するように構成しました。設定は正しく機能しており、ブラウザからページにアクセスできます。
その後、redis クライアントをインストールしました。redis-cli コマンドは ssh から完全に機能しています。
次に、phpredis ( https://github.com/nicolasff/phpredis/zipball/master -O phpredis.zip) をインストールし、適切に動作しているかどうかを確認するための単純な PHP スクリプト (単純な index.php) を作成しました。
このスクリプトを ssh コンソール (つまり、php index.php) から起動すると、うまく機能します。ブラウザからページを開こうとして同じスクリプトを起動すると、次のエラーが発生します。
Fatal error: Class 'Redis' not found
Apache内の私のphp.confファイルは次のとおりです。
フォルダー /etc/php-zts-5.6.d に、ファイル「redis.ini」を追加しました
また、redis インストールが redis.so をこのフォルダーにのみ追加することにも気付きました
フォルダーではなく、/usr/lib64/php-zts/5.6/modules/
あるフォルダーから別のフォルダーにコピーしました。しかし、同じエラーでまだ機能していません:
代わりに、autoload.php の「include」を使用して Predis を使用すると、正常に動作します。しかし、私は phpredis をインストールしたいと思っています。なぜなら、私たちのシステムは Redis サーバーに対して毎秒数千回の呼び出しを行い、phpredis はコンパイルされているため、はるかに高速になるからです。
私は何を間違っていますか?
編集 私のredisエラーログで、このメッセージが表示されます
さらに、prefork モジュールを使用すると、うまく機能します。ワーカーを使用すると、上記のエラーが発生しました。
php - Phpredisは値を設定できません
スレーブ redis を接続しました。なんてばかげた間違いでしょう -_-!!!
ここで学んだことは、クライアント コードに飛び込む前に、常にサーバーの状態を確認する必要があるということです。
私はphpアプリでredisを使用しようとしています.googleの結果として、私はphpredisを選択します. 接続を確立し、 によって redis 情報を正常に取得しましたが$this->_redis->info()
、値を設定できませんでした。ここにいくつかのソフトウェア情報があります:
また、ヘルパー クラスには接続構成と関数が含まれています。
これら 3 つの関数を呼び出すと、redis 情報を正常に取得できますが、set('foo', 'bar') と get('foo') 関数の両方が false を返します。特に get('an_existing_key') は、redis にキャッシュされた正しい情報を返します。 .
私はphpに慣れていないので、重要な設定や何かが欠けていますか?
redis - phpredis 拡張機能が機能せず、'redis.so' を読み込めません
nginx、php、php-fpm、php-pecl-redisをyumでインストールしました。
それらはすべて機能しますが、最後のものです。
を実行する/usr/sbin/php-fpm
と、次のようになりました。
PHP 警告: PHP の起動: 動的ライブラリ '/usr/lib/php/modules/redis.so' を読み込めません - /usr/lib/php/modules/redis.so: 未定義のシンボル: 行 0 の不明な igbinary_unserialize
igbnary_unserialize
意味も修正方法もわかりません。
redis.so
正しいパスの下にあるファイルを確認しました。追加extension=redis.so
しますphp.ini
PHP バージョン: 5.3.3
PhpRedis バージョン: 2.2.7