¿Puedo obligar a get_option a volver a la base de datos en lugar de a la caché?

2

¿Hay alguna forma de garantizar que cuando llame a get_option definitivamente obtendré el valor de la base de datos y no del caché?

    
pregunta djb 20.05.2013 - 11:50

2 respuestas

4

Puede eliminar un caché existente para su opción antes de llamar a get_option() :

$GLOBALS['wp_object_cache']->delete( 'your_option_name', 'options' );
$value = get_option( 'your_option_name' );
    
respondido por el fuxia 20.05.2013 - 11:56
4

Al utilizar la técnica wp_cache_delete () mostrada por toscho, también debe asegurarse de que su opción no esté en carga automática. Si su opción es de carga automática, formará parte de la caché alloptions , por lo que no podrá borrarla individualmente.

Por lo tanto, asegúrese de usar el siguiente formato cuando configure / actualice su opción si desea poder borrarlo del caché:

update_option( 'my_key', 'my val', false ); // False being the autoload parameter

add_option( 'my_key', 'my val', null, false ); // null is a deprecated argument.

update_option () documentation

    
respondido por el mathieuhays 15.05.2015 - 14:18

Lea otras preguntas en las etiquetas