Показать сообщение отдельно
Старый 05.06.2013, 16:45   #10
dmartynenko
Senior Member
 
Аватар для dmartynenko
 
Регистрация: 20.07.2007
Адрес: Беларусь, Минск
Сообщений: 957
Отправить сообщение для dmartynenko с помощью ICQ
По умолчанию

Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
Для кеширование в базе есть серьезные основания:
1. Сайт может функционировать на одном сервере, а БД быть на другом
А ведь суть кэша как раз в том, что бы максимально приблизить данные к потребителю. Канал/время отклика по сети к другому серверу чаще всего медленней чем к локальному диску (особенно если он SSD).

Цитата:
Сообщение от -=UncleByte=- Посмотреть сообщение
2. На нагруженных сервера с большим объемом памяти можно вывести всю базу в оперативку и тогда отклик будет существенно быстрее, чем при работе с файлами
Тут есть нюанс. Таблицы типа MEMORY для кэшей сделать нельзя, так как там в ней нет типов данных BLOB и т.п., а VARCHAR(xxx) разворачиается в фиксированный CHAR(xxx) с соответствующим потреблением памяти.

Второй вариант - размещать сами базы на RAM-диске. А это весьма стремно - при перезагрузке теряются и базы и структуры и подключение их к MySQL

Так что при наличии большого объема памяти кэшировать лучше либо
в файлы на RAM-диск, либо на решения вроде memcached/redis.
dmartynenko вне форума   Ответить с цитированием