JSON.NET CACHE EXTEENTIONAL INSTEVIATION UNTUK MENGENAI PRESTASI?
Mengenai json.net, soalan utama ialah kaedah siri yang digunakan dan sama ada cache digunakan. Sebagai contoh, adakah maklumat akses JSON.NET untuk ahli FOO Object Cache dan menggunakan semula apabila bersiri pada masa akan datang?
Jawapan: Ya, ia benar -benar cache.
ke maklumat bersiri jenis cache. Parser kontrak lalai (IContractResolver
dan DefaultContractResolver
) mengekalkan maklumat ini dan menggunakannya semula secara dalaman, melainkan jika parser kontrak adat ditakrifkan. CamelCasePropertyNamesContractResolver
mengekalkan jadual statik yang dikongsi antara semua keadaan. DefaultContractResolver
CamelCasePropertyNamesContractResolver
Kedua -dua parser kontrak ini adalah benang yang selamat dan membenarkan perkongsian silang. Walau bagaimanapun, jika anda membuat parser kontrak anda sendiri, cache hanya boleh berlaku apabila cache dan menggunakan semula contoh parser kontrak itu sendiri.
Dalam ketiadaan penggunaan memori, anda boleh membina contoh tempatan
untuk mengurangkan kontrak cache, menggunakannya untuk bersiri, dan mengeluarkan rujukan segera selepas bersiri.
DefaultContractResolver
Akhirnya, maklumat serialisasi jenis cache dapat meningkatkan prestasi, tetapi cache yang berlebihan dapat menduduki ingatan. Dengan berhati -hati menguruskan parser kontrak, keseimbangan antara prestasi dan penggunaan memori dapat dicapai.
Atas ialah kandungan terperinci Adakah maklumat Serialization Cache JSON.NET untuk meningkatkan prestasi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!