問題タブ [igbinary]

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

laravel - Laravel Memcached - シリアライザの設定

Laravel 4.2 に基づくプロジェクトでキャッシュ ドライバーとして memcached を使用しています。

このプロジェクトに、現在のもの (igbinary) とは異なる別のシリアライザーを設定したいと考えています。

どのように、どこでそれを行うことができますか?

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

php - イグバイナリ データのブロックの区切り

ログ データのチャンクを memcache に格納して、後でデータベースに投入しています。サーバーへのリクエストごとに、memcached::append() を使用してデータの配列を保存し、改行を使用してチャンクを区切ります。簡略化されたバージョンは次のようになります。

後でクエリを作成する必要がある場合は、データベースからすべての行を取り出し、それぞれの行をシリアル化解除します。

これは組み込みの serialize() と unserialize() で問題なく動作しますが、サイズと速度という igbinary の明らかな強みを活用したいと思います。残念ながら、関数の igbinary バージョンを置き換えると、エラーが発生します。

igbinary でシリアル化されたデータには "\n" 文字が含まれている可能性があるため、隠しデータを展開すると、もちろん失敗する部分的な行が作成されます。

改行以外に igbinary データのブロックを区切るために使用できる区切り文字はありますか、それとも igbinary と append() は基本的に互換性がありませんか?

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

php - apc.serializer=default の場合、OPcache を有効にすると APC が壊れます

私は最近何か奇妙なことを経験しましたが、グーグルで検索しても説明が見つかりませんでした。

セットアップ: APC を使用しています

PHP (v5.5.10) Web アプリの第 1 レベルのユーザー データ キャッシュとして APC (3.1.15-dev) を使用しています。APC オペコード キャッシュが無効になっています。また、apc.serializer = default(この設定が重要であることが判明しました)。

課題: OPcache を有効にしたい

残念ながら、OPcache を有効にすると、APC キャッシュで値を保存しようとすると問題が発生します。

解決策: APC のシリアライザーを指定する

apc.serializer = igbinary

この設定を変更すると、APC は正常に動作し始めます。

質問: 何が起こっているのですか?

問題は解決しましたが、問題とその原因をよりよく理解したいと思います。

igbinary を指定する前に、どのシリアライザーが APC のデフォルトとして使用されていたかはわかりませんが、それが重要かどうかはわかります。

OPcache は何らかの形でデフォルトのシリアライザーを変更しますか?

何が起こっていたのですか?コミュニティからの洞察は非常に高く評価されます:-)

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

php - Node jsにphp同等の関数igbinary_unserialize()がありますか

Node jsにPHPの同等の関数igbinary_unserialize()はありますか? PHP が serialize_handler をigbinaryとして設定したMemcachedの値をシリアル化解除したい(この設定を変更する制御はありません)

通常の php unserialize は、他のハンドラの php-session-unserialize パッケージで実行できます。