¿Es CacheFactory en angularjs un singleton?

He creado un servicio usando el CacheFactory. Esperaba que fuera un singleton. Lo inyecto en mi controlador y funciona bien dentro del alcance del controlador. Pero una vez que voy a una página diferente con un alcance diferente, parece que no tengo los valores en el caché que almacené en el mismo controlador en un alcance diferente. ¿No debería ser el comportamiento de CacheFactory un singleton donde tengo esos mismos objetos en caché en todos los lugares donde inyecto el CacheService?

Este es mi servicio como ejemplo:

angular.module('MyService', []).factory('CacheService', function($cacheFactory) {
        return $cacheFactory('cacheService', {
            capacity: 3 // optional - turns the cache into LRU cache
        })
    });

Luego en mi controlador:

function MyController($scope, CacheService) {
   var results= CacheService.get('storedvalue');
   if(!results){
       CacheService.put('storedvalue', results);
      alert('results not stored');
   }
   else
      alert('results stored');
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta