Чи всі параметри завантажуються в пам'ять при кожному запиті?


25

Чи всі змінні параметрів витягуються з бази даних та завантажуються в кеш на кожен запит?

Відповіді:


24

Так, начебто. Після get_optionвиклику WordPress запускає функцію wp_load_alloptions, яка називається , яка або захоплює кешовану копію всіх автоматично завантажених параметрів, або завантажує всі ці параметри в кеш. Потім wp_load_alloptionsповертає масив усіх автоматично завантажених параметрів. Якщо ваша опція буде автоматично завантажена (вказана при використанні add_optionфункції), вона буде частиною цього масиву і повернеться.

Якщо ваш варіант не завантажується автоматично, WordPress потім шукає в кеші спеціально для цього параметра і повертає значення, якщо воно є. Якщо це не вистачає, остаточне резервне рішення - перейти до бази даних, отримати значення, встановити кеш і повернути його.

Нарешті, якщо параметр взагалі не знайдено (наприклад, ім'я параметра було недійсним), WordPress зберігає ім'я цього параметра в кешованому масиві, який називається notoptions. Якщо проводяться наступні дзвінки на неопціон, WP спочатку перевіряє масив notoptions, щоб він не витрачав час на перевірку того, що там немає.

Якщо ви турбуєтесь про те, щоб дзвонити get_optionкілька разів на завантаження сторінки, не будьте. WordPress буде кешувати значення параметра після першого get_optionдзвінка незалежно від того, завантажено його чи ні.

Перевірте джерело,get_option щоб побачити, що відбувається.


3

Ні,

лише параметри, які спеціально завантажуються з автоматичним завантаженням, встановленим на true

Дивіться http://codex.wordpress.org/Function_Reference/add_option

Тож якщо це варіант, необхідний на кожній сторінці, коли ви додаєте його в db, встановіть autoload = true.

Після цього просто використовуйте get_option зазвичай - wp обробляє кешування тощо.


1
WP обробляє кешування незалежно від автоматичного завантаження.
chrisguitarguy

0

так,

Не потрібно встановлювати автоматичне завантаження на так / істинно. За замовчуванням встановлено значення "Так": http://codex.wordpress.org/Function_Reference/add_option - останній параметр функції ($ autoload):

Чи повинен цей параметр автоматично завантажуватися функцією wp_load_alloptions () (розміщує параметри в кеш-пам'яті об'єктів на кожному завантаженні сторінки)? Дійсні значення: так чи ні. За замовчуванням: так

Хоча якщо ви встановите його на "ні", опція не буде розміщена в кеші.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.