programing

로컬 스토리지 vs AngularJS $cacheFactory

telecom 2023. 3. 6. 20:41
반응형

로컬 스토리지 vs AngularJS $cacheFactory

클라이언트측의 데이터를 많이 보존하는 것에 문제가 있어, 어느 쪽이 좋은지를 결정할 수 없습니다.나는 Angular를 사용하고 있다.JS의 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' })
         }
});

$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

반응형