問題タブ [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.
laravel - Laravel Memcached - シリアライザの設定
Laravel 4.2 に基づくプロジェクトでキャッシュ ドライバーとして memcached を使用しています。
このプロジェクトに、現在のもの (igbinary) とは異なる別のシリアライザーを設定したいと考えています。
どのように、どこでそれを行うことができますか?
php - イグバイナリ データのブロックの区切り
ログ データのチャンクを memcache に格納して、後でデータベースに投入しています。サーバーへのリクエストごとに、memcached::append() を使用してデータの配列を保存し、改行を使用してチャンクを区切ります。簡略化されたバージョンは次のようになります。
後でクエリを作成する必要がある場合は、データベースからすべての行を取り出し、それぞれの行をシリアル化解除します。
これは組み込みの serialize() と unserialize() で問題なく動作しますが、サイズと速度という igbinary の明らかな強みを活用したいと思います。残念ながら、関数の igbinary バージョンを置き換えると、エラーが発生します。
igbinary でシリアル化されたデータには "\n" 文字が含まれている可能性があるため、隠しデータを展開すると、もちろん失敗する部分的な行が作成されます。
改行以外に igbinary データのブロックを区切るために使用できる区切り文字はありますか、それとも igbinary と append() は基本的に互換性がありませんか?
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 は何らかの形でデフォルトのシリアライザーを変更しますか?
何が起こっていたのですか?コミュニティからの洞察は非常に高く評価されます:-)
php - Node jsにphp同等の関数igbinary_unserialize()がありますか
Node jsにPHPの同等の関数igbinary_unserialize()はありますか? PHP が serialize_handler をigbinaryとして設定したMemcachedの値をシリアル化解除したい(この設定を変更する制御はありません)
通常の php unserialize は、他のハンドラの php-session-unserialize パッケージで実行できます。