Programing

로컬 스토리지 대 AngularJS $ cacheFactory

lottogame 2020. 12. 12. 09:55
반응형

로컬 스토리지 대 AngularJS $ cacheFactory


많은 클라이언트 측 데이터를 저장하는 데 문제가 있으며 어떤 방법이 더 나은지 결정할 수 없습니다. 이제 AngularJS의 cacheFactory를 사용하고 있지만 제대로 작동하지만 모든 데이터가 새 세션으로 다시로드됩니다. 대신 로컬 스토리지를 사용할 가치가 있습니까?


목표가 클라이언트 측 및 영구 데이터를 저장하는 것이라면 현재 세션의 데이터 만 캐시하는 $ cacheFactory를 사용할 수 없습니다 .

한 가지 해결책은 새로운 로컬 저장소 API를 사용하는 것입니다. 이 멋진 Angular 모듈 은 당신을 위해 모든 더러운 일을 만들고 심지어 오래된 브라우저의 쿠키로 돌아갑니다!


대체 솔루션은 http://jmdobry.github.io/angular-cache/ 로 ngResource와 잘 작동하며 localStorage에 동기화하도록 쉽게 구성 할 수 있으므로 페이지 새로 고침 후 요청을 다시 수행 할 필요가 없습니다.

$resource('my/kewl/url/:key', { key: '@key' }, {
  'get': { method: 'GET', 
           cache: $angularCacheFactory('MyKewlResourceCache', { 
                                          storageMode: 'localStorage' })
         }
});

Blackhole이 말했듯이 세션이 만료 될 때마다 캐시가 지워 지기 때문에 $ cacheFactory는 분명히 귀하의 솔루션이 아닌 것 같습니다 . $ cacheFactory는 Angular 방식의 memcache 구현입니다.

angular-cache는 도우미 API 일 뿐이며 기본적으로 $ cacheFactory에 옵션을 추가하고이 옵션 중 하나는 캐시를 영구 저장소 (예 : localStorage)에 저장하는 것입니다.

따라서 영구 저장소에 데이터를 저장하려면 angular-local-storage 와 같은 모듈 중 하나를 사용하거나 $ cookieStore를 사용할 수 있지만 쿠키를 생성합니다.


작업을 수행하는 또 다른 각도 모듈 : https://github.com/jmdobry/angular-cache

참고 URL : https://stackoverflow.com/questions/19304435/local-storage-vs-angularjs-cachefactory

반응형