: Is there any way to invalidate all memcache entries that begin with "User*"? I recently made a change to my User class (which is memcached); is there any way I can invalidate all entries whose
I recently made a change to my User class (which is memcached); is there any way I can invalidate all entries whose key begins with User without invalidating the entire cache?
If not are there any workarounds? I would rather not delete everything.
More posts by @Karen161
1 Comments
Sorted by latest first Latest Oldest Best
In the memcached FAQ, Deleting by Namespace:
While memcached does not support any
type of wildcard deleting or deletion
by namespace (since there are not
namespaces), there are some tricks
that can be used to simulate this.
They do require extra trips to the
memcached servers however.
Example, in PHP, for using a namespace
called foo:
$ns_key = $memcache->get("foo_namespace_key");
// if not set, initialize it
if($ns_key===false) $memcache->set("foo_namespace_key", rand(1, 10000));
// cleverly use the ns_key
$my_key = "foo_".$ns_key."_12345";
$my_val = $memcache->get($my_key);
//To clear the namespace do:
$memcache->increment("foo_namespace_key");
If you are planning on doing a blanket clear of only part of the cache, you might consider setting the expiry to a shorter time period.
Terms of Use Create Support ticket Your support tickets Stock Market News! © vmapp.org2024 All Rights reserved.