Viewing 4 replies - 1 through 4 (of 4 total)
  • Plugin Author webaware

    (@webaware)

    G’day Jason,

    When I first looked at that plugin, it was deleting each expired transient one by one, which just doesn’t scale into the thousands. I wrote this plugin for my own development work, and as someone who is used to doing things in SQL, I wrote it to delete all expired transients in one SQL statement. It looks like the Artiss plugin does that now too.

    The main differences are:

    • Artiss hooks into WordPress maintenance WP Cron job, this plugin uses its own WP Cron job (so it runs at a different time)
    • Artiss’ plugin has an option for running MyISAM optimize, which I don’t need because I use InnoDB tables
    • supported by me 🙂 (I generally respond to support questions within a day or so)

    Ultimately, both plugins should become unnecessary soon because WordPress will clean up its own mess in a coming version (maybe as soon as 3.7). I’ll keep this plugin updated, however, because I actively use it during development e.g. for clearing all transients when working with shopping cart plugins and the latest, almost-working, NextGEN Gallery plugin.

    cheers,
    Ross

    Thread Starter Jason Kemp

    (@dialogcrm)

    Thanks for the very prompt update. As it happens I used a sql query to do my cleaning and another tool to do the optimise step. It looks like the artiss plugin also runs a daily clean but it is not really clear.

    It would be good when the options table is better managed by core but the (big problem site) was running WPEC and a theme which also created transients so needs object caching & really a different kind of server.

    Plugin Author webaware

    (@webaware)

    WP e-Commerce is one of my prime culprits, WooCommerce also. I need to delete all transients just to be able to run WP Migrate DB Pro on some sites, there’s something screwy about WPEC’s transients that messes with the migration step. Also plugins that block too many login attempts by IP address can build up lots of expired transients. Lots of reasons really 🙂

    I don’t have experience with object caching servers, but I believe they don’t need this cleanup step. Something I’ll get around to testing one day, when time permits.

    cheers,
    Ross

    Plugin Author webaware

    (@webaware)

    Just remembered another subtle difference:

    • this plugin uses the PHP time to find expired transients, not the MySQL time

    It’s a subtle difference, and should not matter; however, it is possible for the MySQL server to be on a different host to the website, and thus have a different system time. The transients API uses the PHP time, so I made sure that’s the time I use in this plugin.

    cheers,
    Ross

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘Comparison’ is closed to new replies.