What about a ExpirationPolicy.ONLY_IF_ACCESSED?
See original GitHub issue- entry expires only if it has been accessed
- this could be useful especially in conjunciton with
.maxSize
to expire entries only a set time after they have been accessed butmaxSize
prevents the map from growing out of control - in some unpredictable situations (like waiting for responses across the network), this could be useful when you need to keep some data in a map until you receive a confirmation request. Then you don’t need it for much longer afterwards because your code is not depending upon external slowdown factors
Issue Analytics
- State:
- Created 6 years ago
- Comments:5 (2 by maintainers)
Top Results From Across the Web
Class ExpirationPolicy (2.13.11) | Python client library
ExpirationPolicy(mapping=None, *, ignore_unknown_fields=False, **kwargs). A policy that specifies the conditions for resource expiration (i.e., ...
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
This would indeed be useful, with such a policy there would be no need for any timers/threads. The expiration time would only be checked when the entry is accessed to check if it should be returned or not. It would decrease the overhead and complexity of the
ExpiringMap
while still being useful when the map size growing too big is not a concern.nah, I was just thinking leave it in the map… and if it is never accessed, it never expires. However, to prevent it from growing out of control the user could set maxSize to have it expire entries that way (just in case)
however, probably a good idea to throw an exception if maxSize is not set to be very safe )
ok maybe this feature is a “would be nice” thing that could cause problems…