2014-02-21 9 views
1

У меня есть некоторые тяжелые SQL-запросы с производительностью, которые я не могу оптимизировать. Поскольку эти запросы дают одинаковые результаты в 99%, я хотел бы реализовать некоторое кэширование.Насколько надежна общая память shmop/PHP?

Я обнаружил, что общая память shmop/PHP является единственной функцией, доступной практически на любом веб-сервере. memcache, APC ... обычно недоступны, особенно на серверах общего хостинга.

В целом он отлично работает и значительно снижает нагрузку. Я знаю об общих проблемах с безопасностью памяти (все могут читать данные), но я не буду использовать ее для получения конфиденциальной информации, и я буду использовать mcrypt_decrypt сверху.

Но насколько он надежен в долгосрочной перспективе на разных веб-серверах? Может ли это быть рекомендовано для общего использования вообще? У кого-нибудь были отрицательные побочные эффекты при использовании shmop, особенно на серверах Windows?

Большое спасибо.

ответ

0

Думаю, вы ответили на свой вопрос. Как правило, данные разделяются и, следовательно, не защищены. Данные также могут быть потеряны в любое время, поэтому их надежность еще не по определению.

Если вы ищете улучшение SQL с 99% -ными результатами, имейте в виду, что MySQL также имеет кэш запросов, так что кэш уже работает на вас, если вы его правильно настроили.

Если вы хотите сделать кеширование в своем приложении, взгляните на Redis, особенно в качестве бэнда zend_cache, который поддерживает тегирование, позволяя отмечать кешированные значения и скрывать их с помощью тега.

Смежные вопросы