Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add timeouts on Redis OSeg entries using Redis's EXPIRE command. Track active object timeouts and refresh them after 1/2 TTL. The implementation is a bit more complicated than it should be because older versions of Redis's server a) don't have MULTI command support for transactions and b) have a buggy EXPIRE command that doesn't update the TTL if there already is one. The first issue isn't really addressable, so you can just turn off transaction support with a flag, but then the completion handlers are more complicated since the responses look different in transaction and non-transaction modes. The second issue is addressed by resetting the value as well, which resets the expiry. Fixes #435.
- Loading branch information