Ниже приведен простой запуск класса кэширования на основе драйвера в PHP. Другой пользователь отправил это ...
<?php
class Cache
{
protected $Driver;
public function __construct($driver)
{
require_once 'drivers/' . $drivers . '.driver.php';
$driver = "Cache_Driver_" . $driver;
$this->Driver = new $driver;
}
public function create($key,$value)
{
return $this->Driver->create($key,$value);
}
public function read($key,$value)
{
return $this->Driver->read($key,$value);
}
public function update($key,$value)
{
return $this->Driver->update($key,$value);
}
public function remove($key)
{
return $this->Driver->remove($key);
}
}
?>
Мой план состоит в том, чтобы иметь отдельный класс «файлы / драйверы» для каждого метода кэширования, который я буду использовать в своем приложении. Пока я планирую использовать,
- Файл
- APC
- Memcache или Memcached
- Redis
- сеансы
- печенье
Итак, мой главный вопрос (# 1) здесь, я понимаю, что сессии и файлы cookie обычно не считаются частью кэширования, но я думаю, что они здесь подходят, а не для того, чтобы «кэшировать» много данных, но скорее как способ получения / установки моих сеансов и файлов cookie, вместо того, чтобы иметь конкретные сеансы и классы файлов cookie, они будут использовать мои методы get / set / unset из этого класса.
Скажите, пожалуйста, что вы думаете об этой идее? Хорошо, плохо, есть предложения? Спасибо!
вопрос (# 2) n Для моего класса, который будет для сессий, я думал, в моем конструкторе для сессионного класса Driver я мог бы вызвать
session_start()
есть. Возможная проблема, не требует ли это, чтобы я сразу же инициировал кэш с драйвером сеанса, как в верхней части моего приложения, прежде чем что-либо еще вызывать? Или, что еще хуже, придется вызывать session_start () вне самого класса, в верхней части моего приложения? Снова в поисках предложений, я чувствую, что что-то упускаю, еще раз спасибо за любую помощь.
<?php
$cache = new Cache('Session');
?>