2016-02-21 3 views
0

В моем проекте много кэшированного файла в папке с именем «_sCache».Php Cached File Delete Request

И, когда я удаляю данные из базы данных, я хочу удалить кешированный файл этих данных. Но есть много кэшированных файлов.

Как найти правильный кешированный файл для удаления?

ответ

0

Btw вместо хранения значений базы данных в файлах, которые я сохранил бы в Redis.

Вы бы хранить объекты базы данных в кэше файлов, как это:

  • _sCache_product_1
  • _sCache_product_2
  • _sCache_product_200

так _sCache_producct_1 хранит JSon закодированные значения объекта продукта с идентификатором 1. Так когда продукт с идентификатором 1 удаляется, я буду знать, что мне придется удалить только файл _sCache_product_1 и ничего другого. Ваша функция getProduct будет что-то вроде:

public function getProduct($id) 
{ 
    // First check the caching system if you have product with id 
    if ($product = $this->cache->readCache($id)) { 
     return json_decode($product, true); 
    } 

    // Product doesn't exist in cache fetch fetch it from the database 
    // then store it in the caching system. 
} 

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