cache in ETS with TTL. TODO: decrease cache size when it reaches to maxsize