Closed FelipeTaiarol closed 7 years ago
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.
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
):
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 :smile:
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.
cool, I'll take a look, thanks!
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.
@mohitkadelongraph you can have a look at https://github.com/ngx-cache/core
Nice example!
Is there any way to have something similar to this CacheService in Angular 4 ?
https://github.com/angular/universal-starter/blob/master/src/+app/shared/cache.service.ts . https://github.com/angular/universal-starter/blob/master/src/node.module.ts