SlideShare uma empresa Scribd logo
1 de 9
  «Умное» кеширование Николай Зык ( relo_san ) [email_address]
Основные отличия: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Как это работает? Система правил, аналогичная роутингу. Одно правило – одна выборка. К каждому правилу можно прилинковать одну или несколько моделей. Когда в объекте, принадлежащем прилинкованной модели, происходит изменение – посылается команда на удаление кеша, соответствующего этому правилу.
Практическое описание одного из правил: config/cache_routing.yml: routes: static_page: type:  ‘custom’ get: model: ‘DinStaticPage’ method: ‘getPageQuery‘ path:  ‘:_root/DinStaticPage/static_page’ key:  ‘:category_id.:uri.:_i18n.cache’ remove: default: path:  ‘:_root/DinStaticPage/static_page’ key:  ‘:category_id.:uri.*.cache’
Легенда: « static_page » - название правила « type »  -  тип данных: •  data –  запрос одного объекта по  id •  page –  страница со списком объектов •  choices  – список значений, для селекта •  custom –  произвольная выборка •  prepared –  подготовленные данные Секция « get » описывает модель и метод, к которым будет осуществляться запрос.
Легенда: Секция « remove » описывает правила, по которым при изменении (удалении, добавлении) объекта привязанной модели, будет осуществляться удаление кеша. Ниже в этом же конфиге осуществляем привязку моделей к правилам: config/cache_routing.yml: links: DinStaticPage: [ ‘static_page’ ] DinStaticCategory: [ ‘static_page’ ,***]
Текущая реализация успешно работает, но ограничена работой только с файловым кешем. В ближайшем будущем плагируется добавить возможность указания драйвера для определенного правила, работа с другими кеширующими механизмами ( Memcached ) . Также планируется добавить возможность работы с  Propel  и произвольными источниками данных.
Реализация кеш-менеджера доступна в рамках опубликованного плагина, реализующего общие надстройки над фреймворком: svn://dinecat.com/dinSymfonyExtraPlugin Плагин публикуется под лицензией  MIT . Я приглашаю всех, заинтересованных в разработке этого и других плагинов, к совместной работе в этом направлении.
Доклад подготовил: Николай Зык ( relo_san ) [email_address] http://dinecat.com/ http://relo-san.com/

Mais conteúdo relacionado

Destaque

Application mayo clinic
Application mayo clinic Application mayo clinic
Application mayo clinic Lisa Fields
 
Shanghai 2010
Shanghai 2010Shanghai 2010
Shanghai 2010phgts
 
Lee aase 10 reasons not to protect your tweets
Lee aase 10 reasons not to protect your tweetsLee aase 10 reasons not to protect your tweets
Lee aase 10 reasons not to protect your tweetsLisa Fields
 
07 eb technology neutrality in spectrum management 2012 final
07 eb technology neutrality in spectrum management 2012 final07 eb technology neutrality in spectrum management 2012 final
07 eb technology neutrality in spectrum management 2012 finalDaniswara Harnaatmadja
 
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal Alphabet
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal AlphabetC:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal Alphabet
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal AlphabetChoo Lee Tiang
 
Case study customer service
Case study customer serviceCase study customer service
Case study customer serviceLisa Fields
 
Acs 2010 Handout
Acs 2010 HandoutAcs 2010 Handout
Acs 2010 Handoutphgts
 
Кастомизация генераторов в Symfony 1.3/1.4
Кастомизация генераторов в Symfony 1.3/1.4Кастомизация генераторов в Symfony 1.3/1.4
Кастомизация генераторов в Symfony 1.3/1.4Nicolay Zyk
 
Vienna Bpi 2010 Handout
Vienna Bpi 2010 HandoutVienna Bpi 2010 Handout
Vienna Bpi 2010 Handoutphgts
 
Document on bank & mno collaboration v2.0
Document on bank & mno collaboration v2.0Document on bank & mno collaboration v2.0
Document on bank & mno collaboration v2.0Daniswara Harnaatmadja
 
Slideshare right here right now
Slideshare right here right nowSlideshare right here right now
Slideshare right here right nowLisa Fields
 
Case study otter box
Case study otter boxCase study otter box
Case study otter boxLisa Fields
 
Case study customer service southwest airlines
Case study customer service southwest airlinesCase study customer service southwest airlines
Case study customer service southwest airlinesLisa Fields
 
Transitioning from Tactician to Strategist | June 2016
Transitioning from Tactician to Strategist | June 2016Transitioning from Tactician to Strategist | June 2016
Transitioning from Tactician to Strategist | June 2016BeLeaderly.com
 
Islamabad
IslamabadIslamabad
Islamabadspadey
 
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...Lisa Fields
 
8 ways to stay motivated and enagaged at work
8 ways to stay motivated and enagaged at work8 ways to stay motivated and enagaged at work
8 ways to stay motivated and enagaged at workBeLeaderly.com
 

Destaque (18)

Application mayo clinic
Application mayo clinic Application mayo clinic
Application mayo clinic
 
Shanghai 2010
Shanghai 2010Shanghai 2010
Shanghai 2010
 
Lee aase 10 reasons not to protect your tweets
Lee aase 10 reasons not to protect your tweetsLee aase 10 reasons not to protect your tweets
Lee aase 10 reasons not to protect your tweets
 
07 eb technology neutrality in spectrum management 2012 final
07 eb technology neutrality in spectrum management 2012 final07 eb technology neutrality in spectrum management 2012 final
07 eb technology neutrality in spectrum management 2012 final
 
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal Alphabet
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal AlphabetC:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal Alphabet
C:\Documents And Settings\Win Xp\My Documents\Aaaa\Slide Show\Animal Alphabet
 
Case study customer service
Case study customer serviceCase study customer service
Case study customer service
 
Acs 2010 Handout
Acs 2010 HandoutAcs 2010 Handout
Acs 2010 Handout
 
NewMarque Brand
NewMarque BrandNewMarque Brand
NewMarque Brand
 
Кастомизация генераторов в Symfony 1.3/1.4
Кастомизация генераторов в Symfony 1.3/1.4Кастомизация генераторов в Symfony 1.3/1.4
Кастомизация генераторов в Symfony 1.3/1.4
 
Vienna Bpi 2010 Handout
Vienna Bpi 2010 HandoutVienna Bpi 2010 Handout
Vienna Bpi 2010 Handout
 
Document on bank & mno collaboration v2.0
Document on bank & mno collaboration v2.0Document on bank & mno collaboration v2.0
Document on bank & mno collaboration v2.0
 
Slideshare right here right now
Slideshare right here right nowSlideshare right here right now
Slideshare right here right now
 
Case study otter box
Case study otter boxCase study otter box
Case study otter box
 
Case study customer service southwest airlines
Case study customer service southwest airlinesCase study customer service southwest airlines
Case study customer service southwest airlines
 
Transitioning from Tactician to Strategist | June 2016
Transitioning from Tactician to Strategist | June 2016Transitioning from Tactician to Strategist | June 2016
Transitioning from Tactician to Strategist | June 2016
 
Islamabad
IslamabadIslamabad
Islamabad
 
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...
Hospice and Palliative Care Slide Deck created for Sixth Sense Health & Welln...
 
8 ways to stay motivated and enagaged at work
8 ways to stay motivated and enagaged at work8 ways to stay motivated and enagaged at work
8 ways to stay motivated and enagaged at work
 

Semelhante a Умное кеширование

pgday17. How shared memory works in modern PostgreSQL
pgday17. How shared memory works in modern PostgreSQLpgday17. How shared memory works in modern PostgreSQL
pgday17. How shared memory works in modern PostgreSQLDmitry Kremer
 
Повышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаПовышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаВладимир Колос
 
JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"oelifantiev
 
Ice Php Framework Preview Release
Ice Php Framework Preview ReleaseIce Php Framework Preview Release
Ice Php Framework Preview ReleaseDenis Shestakov
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaAndrei Pangin
 
использование Hibernate java persistence.part 4.
использование Hibernate java persistence.part 4.использование Hibernate java persistence.part 4.
использование Hibernate java persistence.part 4.Asya Dudnik
 
JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.Igor Shkulipa
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015OSLL
 
Асинхронная модульность в API Яндекс.Карт — Александр Зинчук
Асинхронная модульность в API Яндекс.Карт — Александр ЗинчукАсинхронная модульность в API Яндекс.Карт — Александр Зинчук
Асинхронная модульность в API Яндекс.Карт — Александр ЗинчукYandex
 
Performance optimization effective interaction with virtual machine
Performance optimization effective interaction with virtual machinePerformance optimization effective interaction with virtual machine
Performance optimization effective interaction with virtual machineReturn on Intelligence
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в DjangoMoscowDjango
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов ИгорьPVasili
 
Внутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackВнутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackAlexey Ivanov
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкRoman Dvornov
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCAndrew Mayorov
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорьdrupalconf
 

Semelhante a Умное кеширование (20)

Backbone js
Backbone jsBackbone js
Backbone js
 
pgday17. How shared memory works in modern PostgreSQL
pgday17. How shared memory works in modern PostgreSQLpgday17. How shared memory works in modern PostgreSQL
pgday17. How shared memory works in modern PostgreSQL
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Что нового в Django 1.4
Что нового в Django 1.4Что нового в Django 1.4
Что нового в Django 1.4
 
Повышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайтаПовышаем производительность Drupal-сайта
Повышаем производительность Drupal-сайта
 
JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"JavaScript-модули "из прошлого в будущее"
JavaScript-модули "из прошлого в будущее"
 
Ice Php Framework Preview Release
Ice Php Framework Preview ReleaseIce Php Framework Preview Release
Ice Php Framework Preview Release
 
Caching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in JavaCaching data outside Java Heap and using Shared Memory in Java
Caching data outside Java Heap and using Shared Memory in Java
 
использование Hibernate java persistence.part 4.
использование Hibernate java persistence.part 4.использование Hibernate java persistence.part 4.
использование Hibernate java persistence.part 4.
 
JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.JavaScript Базовый. Занятие 07.
JavaScript Базовый. Занятие 07.
 
Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015Linuxvirt seminar-csc-2015
Linuxvirt seminar-csc-2015
 
Асинхронная модульность в API Яндекс.Карт — Александр Зинчук
Асинхронная модульность в API Яндекс.Карт — Александр ЗинчукАсинхронная модульность в API Яндекс.Карт — Александр Зинчук
Асинхронная модульность в API Яндекс.Карт — Александр Зинчук
 
Performance optimization effective interaction with virtual machine
Performance optimization effective interaction with virtual machinePerformance optimization effective interaction with virtual machine
Performance optimization effective interaction with virtual machine
 
Работа со статикой в Django
Работа со статикой в DjangoРабота со статикой в Django
Работа со статикой в Django
 
Zend Framework и Doctrine
Zend Framework и DoctrineZend Framework и Doctrine
Zend Framework и Doctrine
 
Easy authcache 2 кэширование для pro. Родионов Игорь
Easy authcache 2   кэширование для pro. Родионов ИгорьEasy authcache 2   кэширование для pro. Родионов Игорь
Easy authcache 2 кэширование для pro. Родионов Игорь
 
Внутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpackВнутреннее устройство и оптимизация бандла webpack
Внутреннее устройство и оптимизация бандла webpack
 
basis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворкbasis.js - почему я не бросил разрабатывать свой фреймворк
basis.js - почему я не бросил разрабатывать свой фреймворк
 
Референсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVCРеференсная архитектура приложения на ASP.NET MVC
Референсная архитектура приложения на ASP.NET MVC
 
Easy authcache 2 кеширование для pro родионов игорь
Easy authcache 2   кеширование для pro родионов игорьEasy authcache 2   кеширование для pro родионов игорь
Easy authcache 2 кеширование для pro родионов игорь
 

Último (9)

Ransomware_Q3 2023. The report [RU].pdf
Ransomware_Q3 2023.  The report [RU].pdfRansomware_Q3 2023.  The report [RU].pdf
Ransomware_Q3 2023. The report [RU].pdf
 
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdfСИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
СИСТЕМА ОЦЕНКИ УЯЗВИМОСТЕЙ CVSS 4.0 / CVSS v4.0 [RU].pdf
 
Cyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdfCyberprint. Dark Pink Apt Group [RU].pdf
Cyberprint. Dark Pink Apt Group [RU].pdf
 
2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf2023 Q4. The Ransomware report. [RU].pdf
2023 Q4. The Ransomware report. [RU].pdf
 
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdfMalware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
Malware. DCRAT (DARK CRYSTAL RAT) [RU].pdf
 
CVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdfCVE. The Fortra's GoAnywhere MFT [RU].pdf
CVE. The Fortra's GoAnywhere MFT [RU].pdf
 
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
Cyber Defense Doctrine Managing the Risk Full Applied Guide to Organizational...
 
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
ИСТОЧНИКИ ИННОВАЦИОННОСТИ КИТАЯ (ПО ВЕРСИИ DGAP) | The Sources of China’s Inn...
 
MS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdfMS Navigating Incident Response [RU].pdf
MS Navigating Incident Response [RU].pdf
 

Умное кеширование

  • 1. «Умное» кеширование Николай Зык ( relo_san ) [email_address]
  • 2.
  • 3. Как это работает? Система правил, аналогичная роутингу. Одно правило – одна выборка. К каждому правилу можно прилинковать одну или несколько моделей. Когда в объекте, принадлежащем прилинкованной модели, происходит изменение – посылается команда на удаление кеша, соответствующего этому правилу.
  • 4. Практическое описание одного из правил: config/cache_routing.yml: routes: static_page: type: ‘custom’ get: model: ‘DinStaticPage’ method: ‘getPageQuery‘ path: ‘:_root/DinStaticPage/static_page’ key: ‘:category_id.:uri.:_i18n.cache’ remove: default: path: ‘:_root/DinStaticPage/static_page’ key: ‘:category_id.:uri.*.cache’
  • 5. Легенда: « static_page » - название правила « type » - тип данных: • data – запрос одного объекта по id • page – страница со списком объектов • choices – список значений, для селекта • custom – произвольная выборка • prepared – подготовленные данные Секция « get » описывает модель и метод, к которым будет осуществляться запрос.
  • 6. Легенда: Секция « remove » описывает правила, по которым при изменении (удалении, добавлении) объекта привязанной модели, будет осуществляться удаление кеша. Ниже в этом же конфиге осуществляем привязку моделей к правилам: config/cache_routing.yml: links: DinStaticPage: [ ‘static_page’ ] DinStaticCategory: [ ‘static_page’ ,***]
  • 7. Текущая реализация успешно работает, но ограничена работой только с файловым кешем. В ближайшем будущем плагируется добавить возможность указания драйвера для определенного правила, работа с другими кеширующими механизмами ( Memcached ) . Также планируется добавить возможность работы с Propel и произвольными источниками данных.
  • 8. Реализация кеш-менеджера доступна в рамках опубликованного плагина, реализующего общие надстройки над фреймворком: svn://dinecat.com/dinSymfonyExtraPlugin Плагин публикуется под лицензией MIT . Я приглашаю всех, заинтересованных в разработке этого и других плагинов, к совместной работе в этом направлении.
  • 9. Доклад подготовил: Николай Зык ( relo_san ) [email_address] http://dinecat.com/ http://relo-san.com/