<rmcreative>

RSS

Все заметки с тегом «Cache»

Можно уточнить:

    (1)
    (1)
    (1)
  1. Yii: тегирование кеша

    21 апреля 2011

    Простая, но эффективная реализация тегирования кеша для Yii, позволяющая делать так:

    // Добавление записи с тегами teg1 и tag2
    Yii::app()->cache->set($key, $value, 0, new Tags('tag1', 'tag2'));
     
    // Очистка кеша по тегу tag2
    Yii::app()->cache->clear('tag2');

    Читаем

    18 комментариев
  2. Кеширование SQL-запросов в Yii

    11 февраля 2011

    Сегодня Qiang реализовал ещё одну интересную штуку для Yii: кеширование запросов к базе данных на всех уровнях от DAO до ActiveRecord.

    $sql = 'SELECT * FROM tbl_post LIMIT 20';
    // кешируем результат запроса 1000 секунд
    $rows = Yii::app()->db->cache(1000)->createCommand($sql)->queryAll();

    Если данные в таблице меняются, можно попробовать инвалидировать кеш, используя менее затратный запрос:

    $sql = 'SELECT * FROM tbl_post LIMIT 20';
    // сбрасываем кеш, если результат изменился
    $dependency = new CDbCacheDependency('SELECT MAX(update_time) FROM tbl_post');
    // кешируем на 1000 секунд
    $rows = Yii::app()->db->cache(1000, $dependency)->createCommand($sql)->queryAll();

    С AR это работает так:

    $posts = Post::model()->cache(1000)->findAll();
    $posts = Post::model()->cache(1000)->with('author')->findAll();

    Опробовать можно, забрав код из SVN. Войдёт в релиз 1.1.7.

    16 комментариев
  3. Кэширование для CodeIgniter с помощью Zend Cache

    27 января 2009

    О прикручивании кэша из Zend Framework к CodeIgniter.

    Читаем

    1 комментарий