Pular para o conteúdo

cache

Cache: memoização, TTL e LRU, com estatísticas de acerto.

bash
dataforge add cache
Versão1.0.0
LicençaMIT
Dependênciasnenhuma
Exporta7 símbolos

Por que existe#

Todo cache é uma aposta: gastar memória para não gastar tempo. As três estratégias aqui diferem no que fazem quando a memória acaba — nada, expirar por tempo, ou descartar o menos usado.

Uso#

dataforge
adopt cache as K

lento := lambda n => n * n
rapido := K.memoizar(lento)
out rapido(9)      // calcula
out rapido(9)      // devolve o guardado

API#

O que relay exporta — 7 símbolos:

dataforge
blueprint Memo
blueprint CacheTTL
blueprint LRU
memoizar(acao, limite := 0)
memo_com_estatisticas(acao, limite := 0)
ttl(segundos := 60.0)
lru(limite := 100)

Instalar#

bash
dataforge add cache
dataforge add cache@1.0.0
dataforge add cache@^1.0