ErsteVorherige1...45678910NächsteLetzte
Принимаем вопросы от населения
| Moool13 | 
					 | 
			
|---|---|
| 
					 "обновлять его нужно только под гостем"
т.е.? 
						
					 | 
			
| Dayver | 
					 | 
			
|---|---|
| 
					 .... т.е - что бы не сохранить в файл страницу которая может отличатся личными настройками залогинившегося гостя - например другая тема оформления и вообще другой набор информации на странице) Pavlo Tkachenko aka Dayver 
					Dieser Beitrag wurde von Dayver (am 6. April 2012, 18:44, vor 13 Jahre) bearbeitet  | 
			
| Nik Samokhvalov | 
					 | 
			
|---|---|
| 
					 Dayver, спасибо тебе, теперь все понятно ;-) Sorry for my English. 
					 | 
			
| Dayver | 
					 | 
			
|---|---|
| 
					 
	секция 
	 Pavlo Tkachenko aka Dayver 
					Dieser Beitrag wurde von Dayver (am 6. April 2012, 18:44, vor 13 Jahre) bearbeitet  | 
			
| Nik Samokhvalov | 
					 | 
			
|---|---|
| 
					 На всякий случай уточнить хочу: мне для модуля, если я хочу, чтобы был файловый кеш, нужно написать вот это: 
if ($cache && $usr['id'] === 0)
{
	$cache->store->write();
}
$cache->store->write() — store — это имя модуля? Sorry for my English. 
					 | 
			
| Dayver | 
					 | 
			
|---|---|
| 
					 Я сам еще не полностью разобрался с кешем (тоже модуль для е-мага делаю) но насколько знаю store (для обычного mysql кеша $cache->db->store() ) - команда связанная с "положить в кеш" так же по аналогии с $cache->db->get() "взять из кеша" Pavlo Tkachenko aka Dayver 
					 | 
			
| Moool13 | 
					 | 
			
|---|---|
| 
					 "т.е - что бы не сохранить в файл страницу которая может отличатся личными настройками залогинившегося гостя - например другая тема оформления и вообще другой набор информации на странице)" 
 
						
					Это понятно) Я имею ввиду как обновить кеш под гостем? Или это не через админку?  | 
			
| Dayver | 
					 | 
			
|---|---|
| 
					 Думаю со временм он сам обновляется (наверное у него есть определенное время жизни), а если нужно вручную то думаю это через "админка-файловый кеш" - хотя это мои догадки ибо тему еще изучил не полностью Pavlo Tkachenko aka Dayver 
					 | 
			
| Trustmaster | 
					 | 
			
|---|---|
| 
					 Пишем в статический кеш всегда только после того, как отработает footer: 
if ($cache && $usr['id'] === 0 && $cfg['cache_YOURMODULE'])
{
	$cache->page->write(); // здесь page - слой кеширования, а не модуль
}
Чистим статику при правке и добавлении/удалении элементов: 
if ($cache && $cfg['cache_YOURMODULE'])
{
	$cache->page->clear('YOURMODULE');
}
Можно чистить не всё разом, а отдельные элементы, но это несколько сложнее. И не забываем добавить в config.php тот самый $cfg['cache_YOURMODULE'], чтобы можно было быстро его включить/выключить. Главное: когда использовать статический кеш. А использовать его следует, если на странице от запроса к запросу для гостя ничего не меняется. Тогда мы можем отдавать страницы практически как статику. Почему этот кеш работает только для гостей, dayver уже объяснил. Added 1 minute later: Время жизни у статического кеша неограниченное. Поэтому нужна явная очистка в коде. Если надо экстренно почистить, админ может это сделать в Администрирование / Прочее / Дисковый кеш. May the Source be with you! 
					 | 
			
| Nik Samokhvalov | 
					 | 
			
|---|---|
					
 Как понять, слой кеширования? Sorry for my English. 
					 | 
			
| Dayver | 
					 | 
			
|---|---|
| 
					 Видимо из вышепреведенной ссылки на документацию в коте есть три слоя 
 Pavlo Tkachenko aka Dayver 
					 | 
			
| Nik Samokhvalov | 
					 | 
			
|---|---|
| 
					 Ясно, понял. Мемори — это программный кеш, на время исполнения скрипта? Sorry for my English. 
					 | 
			
| Trustmaster | 
					 | 
			
|---|---|
| 
					 Memory - это кеширование с помощью APC или Memcached. В представленном дайвером выше списке сверху вниз уменьшается объём кешируемых данных и увеличивается скорость записи. То есть в mem следует хранить самые часто меняющиеся данные, а в page - самые постоянные. Ещё у нас весьма печальный опыт использования mem кеша с APC, потому что APC кеш един для всех приложений на одном хосте. Поэтому рекомендуется использовать его только с memcached, либо если на хосте только один сайт. Возможно, в будущих версиях из cache.php будут удалены бесполезные ныне драйверы. May the Source be with you! 
					 | 
			
| Nik Samokhvalov | 
					 | 
			
|---|---|
| 
					 В движке можно где-нибудь посмотреть пример работы мемори-кэша? $cache->store->write() Что делает store? Записывает кеш? Sorry for my English. 
					 | 
			
| Trustmaster | 
					 | 
			
|---|---|
| 
					 Пример есть в whosonline. Приведенная выше строка некорректна. Никакого $cache->store нет и в помине, как и метода write() у любого из слоев. May the Source be with you! 
					 |