feat(#24): INCR with initial expiration #25
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Implementation of #24
The lua.shared semantic has evolved. The method incr now accept an optional parameter init_ttl :
syntax: newval, err, forcible? = ngx.shared.DICT:incr(key, value, init?, init_ttl?)
init_ttl allow to create the missing key with a ttl and avoid to make another call to handle expiration (incr than expire)
remaining, err = dict:incr(key, -1, limit, window)
A new parameter has been added to INCR command in order to be compliant with lua.shared.DICT