Welcome Guest, Not a member yet? Register   Sign In
Caching forever until the file has been edited by the backend
#1

[eluser]Unknown[/eluser]
I have created a web site using code ignitor. It does not require any user interaction on the front-end however there is a backend where my client will login to add and edit data. I want to always serve a cached file to the user agents and refresh the cache every time that the client edits from the back end. How do I set caching to not refresh the cache ever with
Code:
$this->output->cache(n);
and where should I start to implement the back-end to allow the cache to refresh. I would assume I could use hooks to intercept the back-end pages every time an edit occurs. I will be using a database (mysql) to save the clients data.
#2

[eluser]Otemu[/eluser]
Hi,

Doesn't seem there is an option to cache the page forever, you could put an extremely long number:
$config['cache_expiry'] = 100 * 1440 * 365;
$this->output->cache($config['cache_expiry']);

This will set expiry time to about a 100 years.

When someone edits/updates the page then you would need to delete the cache file, maybe run a function on update that checks if a cache file exists and if so delete that file.

Also check out Phil Strurgeon cache library seems to be quite popular:
https://github.com/philsturgeon/codeigniter-cache
#3

[eluser]CroNiX[/eluser]
In addition to what Otemu suggested, which is what I do, after something is saved in the backend and the cache file deleted, I issue a file_get_contents(url) so that the cache gets rebuilt by hitting the url at that time instead of the next time someone visits the page (so it's always cached for visitors).




Theme © iAndrew 2016 - Forum software by © MyBB