Welcome Guest, Not a member yet? Register   Sign In
Delete one cache file with cache driver
#1

(This post was last modified: 07-07-2017, 04:25 AM by krystian2160.)

I can delete one cache file by

PHP Code:
$this->output->delete_cache('dfgdfg'); 

But why this two doesn't work?


PHP Code:
$this->load->driver('cache');
 if ( 
$this->cache->delete('dfgdfg') ) echo 1

and

PHP Code:
$this->load->driver('cache');
 if ( 
$this->cache->file->delete('dfgdfg') ) echo 1


first one (cache->delete) returns nothing in echo
Second one (cache-file->delete) returns 1 - success? but nothing gets delete, and refreshing page and success success success... but nothing deletes.

$this->cache->file->clean(); works for me
But $this->cache->file->delete doens't, $this->cache->delete doesn't work too.

Why?
Reply
#2

Without seeing your cache configuration we can't tell you anything
Reply
#3

I do not have any cache configuration. Just `$this->output->cache(3600);` in controller's constructor
Reply
#4

And there is your answer.

PHP Code:
$this->output->cache($n); 
is for web page caching

See the docs
https://codeigniter.com/user_guide/general/caching.html

You are referring to a cache driver which is not used when calling
$this->output->cache($n);

So calling
PHP Code:
$this->cache->delete 
won't have any effect on a cached web page

A cache driver is used for caching partial views, or other types of data.
But when using web page caching, all other view caching is obsolete as CodeIgniter will exit execution when a valid cache output is found.
Reply
#5

Thank you Smile Now I understand
Reply
#6

(07-07-2017, 05:15 AM)krystian2160 Wrote: Thank you Smile Now I understand

You are welcome Smile
Reply




Theme © iAndrew 2016 - Forum software by © MyBB