Any insights into Transient API locking, cron and threading?

How does one go about locking down transient API requests for multiple threading? Has anything done some benchmarking, just how much can the transient API handle for multiple concurrent requests? It seems like it might cause some severe bottlenecks if not managed properly.

Also how would one go about forcing the transient API using WP’s built in cron? For instance I have a transient firing on page load that I gather statistics from ( another seperate function) but if a page isn’t visited then the transient is not updated, how would you loop through all the pages/posts using transient API to force an update?

Read More

The cron might also be effective in dealing with my first question to avoid multiple threading, too many requests and performance.

I have been wondering about this and recently a core dev alluded to it on a blog post, the Transient API is so simple to use but seems to lack some documentation for advanced management.

Any insights would be really appreciated.

Related posts

Leave a Reply

1 comment

  1. How does one go about locking down transient API requests for multiple threading? Has anything done some benchmarking, just how much can the transient API handle for multiple concurrent requests?

    Under normal circumstances Transients API is essentially thin wrapper on top of Options API.

    The difference is that (unlike plain options) transients might make use of object cache, if plugin that provides such functionality is installed.

    So answer to this – transients perform as well as your database does, unless you change them to use another type of storage. Then it’s as good as that storage.

    Also how would one go about forcing the transient API using WP’s built in cron? For instance I have a transient firing on page load that I gather statistics from ( another seperate function) but if a page isn’t visited then the transient is not updated, how would you loop through all the pages/posts using transient API to force an update?

    I am not sure what you mean here. Transients are merely storage mechanism. They are used to store and retrieve [expiring] data.

    Anything other than that you will need to implement in your own code.