Tutte le opzioni sono caricate in memoria su ogni richiesta?


25

Tutte le variabili delle opzioni vengono recuperate dal database e caricate nella cache su ogni richiesta?

Risposte:


24

Sì, una specie di. Quando get_optionviene effettuata la chiamata, WordPress esegue una funzione chiamata wp_load_alloptions, che prende una copia cache di tutte le opzioni caricate automaticamente o carica tutte quelle opzioni nella cache. Quindi wp_load_alloptionsrestituisce un array di tutte le opzioni caricate automaticamente. Se l'opzione è caricata automaticamente (specificata quando si utilizza la add_optionfunzione), farà parte di questo array e verrà restituita.

Se l'opzione non viene caricata automaticamente, WordPress cerca nella cache specificamente tale opzione e restituisce il valore se presente. In caso contrario, il fallback finale è di andare al database, recuperare il valore, impostarlo nella cache e quindi restituirlo.

Infine, se non viene trovata alcuna opzione (ad es. Il nome dell'opzione non era valido), WordPress memorizza il nome di tale opzione in un array memorizzato nella cache chiamato notoptions. Se vengono effettuate chiamate successive alla non opzione, WP controlla prima l'array notoptions in modo da non perdere tempo a cercare qualcosa che non c'è.

Se sei preoccupato di chiamare get_optionpiù volte per caricamento della pagina, non esserlo. WordPress memorizzerà nella cache il valore dell'opzione dopo la prima get_optionchiamata, indipendentemente dal fatto che sia caricato automaticamente.

Controlla la fonte perget_option vedere cosa sta succedendo.


3

No,

solo le opzioni che sono specificamente caricate con il caricamento automatico sono impostate su true

Vedi http://codex.wordpress.org/Function_Reference/add_option

Quindi se è un'opzione necessaria in ogni pagina, quando la aggiungi al db, imposta autoload = true.

Dopodiché, usa normalmente get_option - wp gestirà il cache ecc.


1
WP gestisce la memorizzazione nella cache indipendentemente dal caricamento automatico.
chrisguitarguy,

0

Sì,

Non è necessario impostare il caricamento automatico su yes / true. L'impostazione predefinita è Sì: http://codex.wordpress.org/Function_Reference/add_option - ultimo parametro della funzione ($ autoload):

Questa opzione dovrebbe essere caricata automaticamente dalla funzione wp_load_alloptions () (inserisce le opzioni nella cache degli oggetti ad ogni caricamento della pagina)? Valori validi: sì o no. Predefinito: sì

Tuttavia, se lo si imposta su no, l'opzione non verrà inserita nella cache.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.