[OpenSIPS-Devel] [opensips] Do not reset counter expiration on incr/decr (#160)

rrb3942 notifications at github.com
Fri Jan 10 21:56:07 CET 2014


This patch makes it so that the localcache module does not reset the expiration of a key on an addition or subtraction. Instead the expiration is based off when the key was first inserted. For example, if you add 1 to a key every second and have it expire after 20 seconds, the counter will increase for 20 seconds and then be reset. The current behavior is that the counter will just continually increase and will not reset unless there is 20 seconds of inactivity on the key.

This behavior is more in-line with how other caches (such as memcache) treat these operations, and I believe should be the expected behavior. It also makes it much easier to use the localcache for things such as rate-limiting, loop detecting, etc without having to resort to interesting tricks in the keys (such as including the current second, minute, etc).
You can merge this Pull Request by running:

  git pull https://github.com/rrb3942/opensips localcache_counter_expire

Or you can view, comment on it, or merge it online at:

  https://github.com/OpenSIPS/opensips/pull/160

-- Commit Summary --

  * Do not reset counter expiration on incr/decr

-- File Changes --

    M modules/cachedb_local/hash.c (8)

-- Patch Links --

https://github.com/OpenSIPS/opensips/pull/160.patch
https://github.com/OpenSIPS/opensips/pull/160.diff

---
Reply to this email directly or view it on GitHub:
https://github.com/OpenSIPS/opensips/pull/160
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/devel/attachments/20140110/95df7e78/attachment.htm>


More information about the Devel mailing list