Russian TYPO3 community

Russian TYPO3 community (http://forum.typo3.ru/index.php)
-   Разработка расширений / TYPO3 extension development (http://forum.typo3.ru/forumdisplay.php?f=38)
-   -   Всетаки - кэширование с использованием БД - это очень не удобно! (http://forum.typo3.ru/showthread.php?t=10758)

Ивано++ 31.05.2013 01:36

Всетаки - кэширование с использованием БД - это очень не удобно!
 
Получается, что бы сделать рез.копию хостинга...
Надо проходится по таблицам...

Да и потом - БД - ведь по идее созданы для полезного контента - а не для мусора (временного)...

Это все равно что я бы в Ecxel таблицах в каждый из своих документов с отчетностью вставлял бы жопу павлина...
Просто так... Кусочек мусора...

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

Будем искать расширения на данную тему...
Они есть - но как то сложно ставятся...

Гораздо удобнее так делать копию хостинрга
Да и БД - т.к. они не будут весить по 1 ГБ и более.

Андрей Аксенов 31.05.2013 12:06

Ну есть в Планировщике задачи по уборке мусора... Можно это делать и в ручную. Во вторых, я не пользуюсь встроенным поиском - может и стоит попробовать новый, но как-то руки не доходят, легче поставить сторонний гугль или яндекс.
Ну а сам механизм INNO в DB подразумевает "раздувание" файлов. Одно спасение - периодическое воссоздание базы данных.
Ну а кеширование во временных файлах довольно широко используется...

Ивано++ 31.05.2013 12:30

Цитата:

Сообщение от Андрей Аксенов (Сообщение 36421)
Ну есть в Планировщике задачи по уборке мусора... Можно это делать и в ручную.

Это всеравно не удобно...
БД - должна быть для полезного контента - а не для мусора - по крайней мере я к такому выводу прихожу... Читая статьи про кэширование - почему typo3 - выбрала по умолчанию именно этот вариант, а не на файла - так и не понял аргументов...

Цитата:

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

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

Цитата:

Сообщение от Андрей Аксенов (Сообщение 36421)
Ну а сам механизм INNO в DB подразумевает "раздувание" файлов. Одно спасение - периодическое воссоздание базы данных.
Ну а кеширование во временных файлах довольно широко используется...

Вот в этом то и проблема...
Зачастую народ херачит БД - прямо как есть - 50 мб. - 100 мб. А потом и больше ... И поробуй это все потом восстанови перенеси - начинаются всякие ограничение на время работы, заливки всяких дамперов и прочеее...

Хотя если взять к примеру самый простой сайт моего студ.совета -
studsovet-life.ru - здесь чистый вес БД - всего 2мб....

А если есть хостинг - где висят 5-7 проектов typo3 - то уже очень большая проблема делать рез.копию всего этого дела...
Мне каждый раз приходится протыркивать каждую Бд...

А так, я бы мог сделать общую копию БД - и она бы весила МБ - 20-30...

--
В общем - в будующем буду уходить от этого бреда - когда кэш пишется в БД...
Т.к. ЭТО ДЕЙСТВИТЕЛЬНО БРЕД.

Андрей Аксенов 31.05.2013 12:44

Согласен... При установке нового ядра иногда приходится и папку с темпами удалять, да и не только при этом, но и зачастую при разработке непонятки бывают. А так - права на папку для временных файлов поставил, и не нужно кеш чистить - запись запрещена :)

Ивано++ 31.05.2013 13:22

Цитата:

Сообщение от Андрей Аксенов (Сообщение 36425)
Согласен... При установке нового ядра иногда приходится и папку с темпами удалять, да и не только при этом, но и зачастую при разработке непонятки бывают. А так - права на папку для временных файлов поставил, и не нужно кеш чистить - запись запрещена :)

Просто думаю - если на нее поставить права "Запрет" - то будет плохо...
Туда же все пишется все ...

и css и js - и спрайты - одним словом все...
+ картинки, которые создаются как временные "Тип контента изображение" -- все туда...

В общем поищем решение - после отпишемся...
ЖОПА - ЖОпа... эти кэши в БД...

Андрей Аксенов 31.05.2013 13:33

Да это я вроде как "пошутил", запрета ставить нельзя, так как при этом ошибки появляются - невозможно записать какой-то файл... Это я по аналогии с мультишопом - там как раз кеширование в файлы используется, ну и при изменении данных иногда чистить кеши приходится - ну вот запрет на запись помогает...

-=UncleByte=- 31.05.2013 13:53

Для кеширование в базе есть серьезные основания:
1. Сайт может функционировать на одном сервере, а БД быть на другом
2. На нагруженных сервера с большим объемом памяти можно вывести всю базу в оперативку и тогда отклик будет существенно быстрее, чем при работе с файлами

Ивано++ 31.05.2013 14:39

Цитата:

Сообщение от -=UncleByte=- (Сообщение 36428)
Для кеширование в базе есть серьезные основания:
1. Сайт может функционировать на одном сервере, а БД быть на другом

И в чем здесь подоплека?...


Цитата:

Сообщение от -=UncleByte=- (Сообщение 36428)
2. На нагруженных сервера с большим объемом памяти можно вывести всю базу в оперативку и тогда отклик будет существенно быстрее, чем при работе с файлами

Думаю - здесь только пробовать...
На сайте typo3 - тоже про это говорится...

В общем второй вопрос - это очень сомнительный вопрос о том что лучше...
Для меня пока в любом случае лучше файлы (по крайней мере для сайтов из 10-250 страниц это уж точно!)

НИгде нет однозначного ответа о том, что лучше...
http://alexvolkov.ru/bd-bystree-fajjlov.html
http://hashcode.ru/questions/28006/p...B0%D0%B9%D0%BB ( сразу первый ответ - (
http://habrahabr.ru/qa/26867/

В общем-то проблема в том, что я делая рез.копии несколькох проетков - 1 хостинг - получаю по сущетству содержимое + мусор - и это уже достало...

//
Вот что еще пищут на хабре.
Кстати, файловая система — это тоже в некотором роде база данных.

-=UncleByte=- 31.05.2013 15:51

Ну подоплека в том, что могут быть ограничения по доступному дисковому пространству, могуть ограничения по количеству файлов - ограничения могут быть какие угодно.

Для бэкапов без мусора достаточно использовать sypex dumper - можно отметить содержимое каких таблиц не включать в дамп и все.

dmartynenko 05.06.2013 16:45

Цитата:

Сообщение от -=UncleByte=- (Сообщение 36428)
Для кеширование в базе есть серьезные основания:
1. Сайт может функционировать на одном сервере, а БД быть на другом

А ведь суть кэша как раз в том, что бы максимально приблизить данные к потребителю. Канал/время отклика по сети к другому серверу чаще всего медленней чем к локальному диску (особенно если он SSD).

Цитата:

Сообщение от -=UncleByte=- (Сообщение 36428)
2. На нагруженных сервера с большим объемом памяти можно вывести всю базу в оперативку и тогда отклик будет существенно быстрее, чем при работе с файлами

Тут есть нюанс. Таблицы типа MEMORY для кэшей сделать нельзя, так как там в ней нет типов данных BLOB и т.п., а VARCHAR(xxx) разворачиается в фиксированный CHAR(xxx) с соответствующим потреблением памяти.

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

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


Часовой пояс GMT +4, время: 01:50.

Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot