My website is based on a generic (NOT WordPress or other systems!) social network script. Every day it includes about 1,000 new rows to its' main MYSQL table. Since the site now contains 1,143,749 rows, it is beginning to slow down.
I need someone who can create the following caching system for the site:
1. the general URL structure of an individual post is:
http://~site~.com/stories/2134183/[url removed, login to view]
The respective entries in the MySQL table to create this URL are:
- `story_id` int(11)
- `story_title` varchar(255)
2. I want to limit the cache to entries in the MySQL database up to a certain number. The above post has the number 2134183, so if I set this limit to "1500000", the HTML pages of all stories with a `story_id` up to 1500000 should be cached on the server's HDD the first time they have been requested from the internet.
3. There must be an option to manually and/or periodically clear the cache.
4. Due to the large number of rows/stories, it may be required to store the generated cache files in different folders. These folders could be created based on their story_id. For example, the cache could have a structure from "/000/001" to "/999/999" where each folder contains a maximum of 1,000 files. The cached HTML file of the above example (story_id = 2134183) would then be: /002/134/rewritten_story_title.html.
5. Based on the story_id of a requested URL, the caching system must determine whether the story is retrieved from the cache or if it is to be created from the entry in the MySQL database.
I want to mention here again that this is NOT a WordPress/Drupal/Joomla based site but a generic site. Other solutions like NGINX do also not work with this site. Consequently, some code needs to be included in the respective file(s) ("[url removed, login to view]" and/or "[url removed, login to view]").
5 freelancers are bidding on average $133 for this job
We can give an elegant and professional 3D touch. I'll deliver the best results because I believe in building long-term relationship with my clients. I am eagerly waiting for your response.