Closed ValenokPC closed 4 years ago
А можно просто поместить в кеш и при необходимости их загружать
Еще раз: выборка из кэша и именно такая выборка полей таблиц равнозначна как минимум, а скорее всего будет быстрее, чем из кэша, поскольку данные по структуре таблиц mysql держит в памяти и не выполняет дисковых операций.
Я не вижу смысла держать их постоянно в памяти.
Я вижу.
А зачем нам его очищать так часто! Таблицы в продакшене статичны и очень радко изменяются! У вас нельзя сделать постоянное кэширование только на время!
Вопрос не в том, как часто очищать, а в том, что мы никак не повлияем на ttl в данном случае. В то время как весь остальной кэш подчиняется опции ttl в админке. Весь кэш очищается автоматически, при изменении данных в таблицах. Проставлять ttl таким образом, да и в целом кэшировать этот запрос, неочевидно для тех, кто будет пытаться понять, почему поле в таблице добавили (хоть в phpmyadmin, хоть средствами CMS, например при установке пакета дополнения), а движок его не видит. Но даже если допустить, что кэш оправдан, то необходимо в методы, где производятся манипуляции с ячейками (ALTER TABLE *) добавлять очистку этого кэша по ключу.
У вас сделано что оно сохраняется в переменную и после этого при частых инсертах оно так и лежит в переменной памяти php. Я не вижу смысла держать их постоянно в памяти. А можно просто поместить в кеш и при необходимости их загружать
А зачем нам его очищать так часто! Таблицы в продакшене статичны и очень радко изменяются! У вас нельзя сделать постоянное кэширование только на время!