I am trying to develop functionality which counts how many times a post is viewed however I am also using page caching (APC possible memcache in the future) via w3 total cache.
The “view count” value is not to be shown to anyone but administrators/editors and only when editing the post in admin section.
So my question is if I do the following for every post
update_post_meta($postID, 'view_count', $count++);
is it going to
-
work considering im using page caching?
-
if it does work, would it slow down the request considerably?
-
if it does slow down the request would doing a asynchronous mysql update via MYSQLI_ASYNC speed this back up?
Thanks
This won’t work if page caching is enabled, I would recommend creating an ajax request which calls this function instead.
e.g.
(then create an ajax call in JS which passes through the page id to this counting function)
Ajax shouldn’t be affected by page caching. There will be a slight overhead on this extra request with each pageload, but that’s the price you pay if you want to do your own pageview counting. The only way around this would be to use a third party tool like Google Analytics.