[erlang-questions] How would you implement TTL for ETS based cache?

Dmitry Kolesnikov <>
Thu Mar 14 15:29:33 CET 2013


Hello Max,

I have been experimenting with similar approach. The main idea was to keep a two ETS based indexes. The first one it key-value map, second is expire-key map. Second index allows you to handle eviction. You have a process that evict a items when they are expired. 

I did a quick proto but never had opportunity to evolve it further. 
https://github.com/fogfish/cache

It would be excellent to get community comments on it.


Best Regards,
Dmitry >-|-|-*>


On 14.3.2013, at 16.15, Max Bourinov <> wrote:

> Hi Erlangers,
> 
> How would you implement TTL with callback for ETS based cache?
> 
> I want when TTL expires callback is triggered and cached value goes to DB.
> 
> For key I use 32 byte long binary(), value is not bigger than 8 KB. 
> 
> Any suggestions?
> 
> p.s. elang:send_after/3 is a most brutal approach, but how would it be when cache is under load?
> 
> Best regards,
> Max
> 
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130314/9e2f0a6f/attachment.html>


More information about the erlang-questions mailing list