Add set_many, delete_many, clear to cache
|Reported by:||jbalogh||Owned by:||jbalogh|
|Component:||Core (Cache system)||Version:||1.2-alpha|
|Has patch:||yes||Needs documentation:||no|
|Needs tests:||no||Patch needs improvement:||no|
The attached patch adds all three, with accompanying tests and docs.
set_many and delete_many are convenient, but not really any big gain for non-memcached backends. For memcached, they're an improvement if you're setting or deleting a bunch of keys at once, since you avoid extra latency and network traffic. It also provides symmetry with get_many.
clear is nice for tests and development when you need a full flush, and in production when there's a code upgrade that changes the shape of cached objects.
I can split the patch into multiple, smaller patches if it makes things easier. I was in there and wanted all three, so I wrote everything at once.
On the docs: the cache section is getting littered with versionadded directives, and the new methods might be getting kind of lost. A new "High Efficiency" section might be in order, to separate methods that act on a single key from methods that act on many keys (get_many, set_many, delete_many, and cache). Thoughts?
Also, I'm not excited about continuing the (timeout=0 => default timeout) debacle, but it's better for consistency.
Change History (7)
comment:1 Changed 6 years ago by jbalogh
- Needs documentation unset
- Needs tests unset
- Owner changed from nobody to jbalogh
- Patch needs improvement unset
- Status changed from new to assigned
Changed 6 years ago by jbalogh
comment:5 Changed 6 years ago by Alex
- Resolution set to fixed
- Status changed from assigned to closed