Code Monkey home page Code Monkey logo

Comments (6)

adamgfraser avatar adamgfraser commented on June 12, 2024 4

@ithinkicancode The lookup function would return a ZManaged instead of a ZIO and then when the lookup function is run we would evaluate the acquire action of the ZManaged and store the release action in the cache, running it when the cache entry was evicted. The entire cache would likely be created in the context of a managed effect to ensure that all acquired resources were released when that scope was closed.

from zio-cache.

strokyl avatar strokyl commented on June 12, 2024 3

Released in https://github.com/zio/zio-cache/releases/tag/v0.1.2. I think we can close this issue now!

from zio-cache.

ithinkicancode avatar ithinkicancode commented on June 12, 2024

Hi @vigoo, can you elaborate or can you give an example? Currently, a cache value is stored as exit: Exit[Error, Value] in the MapValue.Complete case class. Do you mean it should be replaced as exit: ZManaged[Any, Error, Value]?

from zio-cache.

strokyl avatar strokyl commented on June 12, 2024

I start working on that issue but would appreciate some advice if possible (see #71 )

from zio-cache.

jdegoes avatar jdegoes commented on June 12, 2024

The interface of the cache itself must change, since the resource management mechanism must be aware of when a resource is done being used. This implies: not only is the lookup function resourceful, but also the get function on the cache is resourceful.

@adamgfraser It will be interesting to see how this shakes out in a 2.0 world.

from zio-cache.

strokyl avatar strokyl commented on June 12, 2024

I think I got something working on #71 and I would appreciate some feedback on the question I added as comments in my code before going forward with this PR.
Also the trackAccess function is really obscure to me, I really don't understand how it works and I am not sure to understand its goal (make sure that cache does not exceed is capacity I guess)?

from zio-cache.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.