<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>Hello Max,</div><div><br></div><div>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. </div><div><br></div><div>I did a quick proto but never had opportunity to evolve it further. </div><div><span style="font-family: '.HelveticaNeueUI'; font-size: 15px; line-height: 19px; white-space: nowrap; -webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); -webkit-text-size-adjust: none; "><a href="https://github.com/fogfish/cache">https://github.com/fogfish/cache</a></span><br><br>It would be excellent to get community comments on it.</div><div><br></div><div><br>Best Regards,<div>Dmitry >-|-|-*></div><div><br></div></div><div><br>On 14.3.2013, at 16.15, Max Bourinov <<a href="mailto:bourinov@gmail.com">bourinov@gmail.com</a>> wrote:<br><br></div><blockquote type="cite"><div>Hi Erlangers,<div><br></div><div>How would you implement TTL with callback for ETS based cache?</div><div><br></div><div>I want when TTL expires callback is triggered and cached value goes to DB.</div><div><br></div><div>For key I use 32 byte long binary(), value is not bigger than 8 KB. </div>

<div><br></div><div>Any suggestions?</div><div><br></div><div>p.s. elang:send_after/3 is a most brutal approach, but how would it be when cache is under load?</div><div><br clear="all"><div><div>Best regards,</div><div>Max</div>

<br></div>
</div>
</div></blockquote><blockquote type="cite"><div><span>_______________________________________________</span><br><span>erlang-questions mailing list</span><br><span><a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a></span><br><span><a href="http://erlang.org/mailman/listinfo/erlang-questions">http://erlang.org/mailman/listinfo/erlang-questions</a></span><br></div></blockquote></body></html>