Giter VIP home page Giter VIP logo

Comments (6)

fulls1z3 avatar fulls1z3 commented on May 12, 2024 1

According to the universal docs, we need that.

There was an approach in my mind earlier this week, for this cache service. I'll also dig the universal-starter a bit, and I think I'll be able to implement this feature on a separate repository - at the first opportunity.

from universal.

fulls1z3 avatar fulls1z3 commented on May 12, 2024 1

Check the implementation: just updated this repo as well as publishing 4 separate packages for cache operations both on server and browser platforms. Everything is handled via the @Cached(...) decorator on the method/loader/etc which you want it cached. Also, there's the possibility to use caching methods (has, get, set) using the caching API.

You might ask why to keep the structure so complex and consume 4 different packages? The answer is, not all the use cases depend on caching on the server platform. Furthermore, this structure allows to integrate any kind of custom caching with the server or browser platform (ex: session, api, etc).

Currently there's no documentation available for these packages, because these days I'm kinda overloaded with many different tasks/projects. I think in a week or two I'll try to provide a good documentation as well as unit tests for these packages.

However, try to have a look on this repo - about the use of CacheService and its instruments. I think it won't be difficult to understand the concepts, as I've kept the code style as DRY as possible.

from universal.

fulls1z3 avatar fulls1z3 commented on May 12, 2024

The problem on the server-side, there's no interface which we can store the data (ex: localStorage, window, etc.). Furthermore, on each navigation, the DI is lost at the server-side code. For this reason, in-memory cache was not option too.

Well, I think I've managed both the server-side and client-side caching (transferring the cache using nglibs/universal-transfer-state):

  • using fs to write results of XHR requests on the disk (once for all requests, incl. concurrent ones)
  • read cache file from the disk (server-side)
  • on onNgBootstrap, transfer the cache to client using transfer-state

I'll commit the changes soon, but I'm afraid it could take a couple of days. Need huge refactoring, code is more complicated than spaghetti - more like wife's Borsch soup 😄

from universal.

FelipeTaiarol avatar FelipeTaiarol commented on May 12, 2024

cool, I'll take a look, thanks!

from universal.

mohitkadelongraph avatar mohitkadelongraph commented on May 12, 2024

Is there any documentation available like how we can use caching with this seed? I am kinda confused if caching is actually working or not.

from universal.

fulls1z3 avatar fulls1z3 commented on May 12, 2024

@mohitkadelongraph you can have a look at https://github.com/ngx-cache/core

from universal.

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.