Framework foton
Инструмент для профессиональной разработки web приложений
            На Framework Foton используется 3 типа кеширования:
            1. Redis
            2. Memcached
            3. Файловый кеш
               
               Работа с Redis
               
Для работы с Redis необходимо установить библиотеку Redis и подключаете как в примере:

<?
    public function news(){
        $arr = 
        [
            'news',
            'sort'=>array('id'=>'DESC'),
            'where'=>array('=pub'=>'on')
        ];
        return $this->core->getlist($arr);	
    }

Например нам нужно закешировать результат метода ядра getlist, тогда меняем код метода вот так:

<?
use Foton\Lib\RCache;

class test{
	public function news(){
		$arr_cache = array('127.0.0.1','11211'); //хост, порт
		$obj = new RCache($arr_cache);
		$arr = array(
 			'news',
 			'sort'=>array('id'=>'DESC'),
 			'where'=>array('=pub'=>'on')
 		);
 		return $obj->Core->getlist($arr); 
 	}
}

             
Работа с Memcached
               
Для работы с Memcached необходимо установить библиотеку Memcache и подключаете как в примере:

<?
    public function news(){
        $arr = 
        [
            'news',
            'sort'=>array('id'=>'DESC'),
            'where'=>array('=pub'=>'on')
        ]
        return $this->core->getlist($arr);	
    }

Например нам нужно закешировать результат метода ядра getlist, тогда меняем код метода вот так:

<?
use Foton\Lib\MCache;

class test{
	public function news(){
		$arr_cache = array('127.0.0.1','11211',50); //хост, порт, время кеширования в секундах
		$obj = new MCache($arr_cache);
		$arr = array(
 			'news',
 			'sort'=>array('id'=>'DESC'),
 			'where'=>array('=pub'=>'on')
 		);
 		return $obj->Core->getlist($arr); 
 	}
}


Работа с файловым кешем

Для работы с файловым кешем ничего устанавливать не нужно, просто подключаете его как в примере:

<?
    public function news(){
        $arr = 
            [
                'news',
                'sort'=>array('id'=>'DESC'),
                'where'=>array('=pub'=>'on')
            ];
            return $this->core->getlist($arr);	
    }

Например нам нужно закешировать результат метода ядра getlist, тогда меняем код метода вот так:


<?
use Foton\Lib\Cache;

class test{
	public function news(){
		$timeCache = 50; //время  кеширования в секундах
		$obj = new Cache($timeCache);
		$arr = array(
 			'news',
 			'sort'=>array('id'=>'DESC'),
 			'where'=>array('=pub'=>'on')
 		);
 		return $obj->Core->getlist($arr); 
 	}
}

Для очистки всего файлового кеша добавьте в код $obj->clearCache(); - данный метод полностью очистит директорию кеша /system/cache/

<?
public function clearCache(){
	$timeCache = 50; //хост, порт
	$obj = new Cache($timeCache);
	$objclearCache();
}

Для очистки конкретного файла кеша добавьте в код $obj->delCache($file); - где $file – название файла, данный метод удалит файл кеша /system/cache/$file.php

<?
public function clearCache(){
	$timeCache = 50; //хост, порт
	$obj = new Cache($timeCache);
	$file = 'myfile';
	$obj->delCache($file);
}

© Copyright 2026 Разработано на Framework Foton
Продукт зарегистрирован в Роспатенте