The title asks it all. The content on the site I’m building wont change very quickly at all and so Memcache could potentially store data for months except for when I put up an update. Is there a way to make it clear the cache every time I deploy the site? I’m using the Python runtime.
Update 1
Using jldupont‘s answer I put the following code in my main request handling script…
Update 2
I’ve switched to the method mentioned by Koen Bok in the selected answer’s comments and prefixed all my memcache keys with os.environ['CURRENT_VERSION_ID']/ with the helpful code in the answer‘s 2nd update. This solution seems to be much more elegant than the function I posted before.
Have you tried
flush_all()function? Docs here. You’ll need a bit of logic & state to detect a new deployment or have a special script to perform the flushing.Updated: look at the absolute path of one of your script: this changes on every deployment. You can use http://shell.appspot.com/ to experiment:
Look at the line with /shell/1.335852500710379686/.
So, just keep a snapshot (in memcache 😉 of this deployment state variable and compare in order to effect a flushing action.
Updated 2: as suggested by @Koen Bok, the environment variable CURRENT_VERSION_ID can be used also (part of the absolute path to script files also).