En mi pequeña edad con WordPress, he visto WordPress y sus complementos amigables están usando PHP serialize()
en el almacenamiento de datos en db en muchos casos. Pero en una búsqueda reciente encontré un serio apoyo comunitario para el json_encode()
sobre el serialize()
.
- Una prueba que demuestre que
json_encode()
es mejor queserialize()
- StackOverflow - Razones por las que se puede usar
json_encode()
y por qué no, StackOverflow
Y personalmente probé una matriz asociativa con ambos, que muestra:
-
serialize()
almacena 342 caracteres -
json_encode()
almacena 285 caracteres
¿Por qué estoy preguntando esto?
Estoy en un proyecto mientras voy a almacenar metacampos repetidos en una publicación. Donde:
- Los datos estarían básicamente en inglés, pero a veces pueden ser bengalíes
- Los datos serían una matriz asociativa, 3 niveles de profundidad (espero que haya entendido niveles correctamente):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
He comprobado que el campo postmeta
de la tabla meta_value
es un longtext
, que significa una longitud de 4,294,967,295 caracteres (4GB).
Necesito una solución robusta para almacenar cosas.