• 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Delete one cache file with cache driver

#1
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


Digg   Delicious   Reddit   Facebook   Twitter   StumbleUpon  


  Theme © 2014 iAndrew  
Powered By MyBB, © 2002-2020 MyBB Group.