Na minha pouca idade com o WordPress, vi o próprio WordPress e seus plugins amigáveis estão usando PHP serialize()
para armazenar dados no db em muitos casos. Mas, em uma pesquisa recente, encontrei um sério apoio da comunidade para o mundo json_encode()
todo serialize()
.
- Um teste que prova
json_encode()
ser melhor queserialize()
- StackOverflow - Razões pelas quais
json_encode()
pode ser usado e por que não - StackOverflow
E eu pessoalmente testei uma matriz associativa com os dois, que mostra:
serialize()
armazena 342 caracteresjson_encode()
armazena 285 caracteres
Por que estou perguntando isso?
Estou em um projeto enquanto vou armazenar meta-campos repetidos em uma postagem. Onde:
- Os dados seriam basicamente em inglês, mas às vezes podem ser bengalis
- Os dados seriam uma matriz associativa, com três níveis de profundidade (espero entender os níveis corretamente):
array(
1 => array(
'key'=>'value',
'key2'=>'value'
),
2 => array(
'key'=>'value',
'key2'=>'value'
)
)
Eu verifiquei que o campo postmeta
da tabela é meta_value
um longtext
, o que significa um comprimento de 4.294.967.295 caracteres (4 GB).
Então, preciso de uma solução robusta para armazenar coisas.