To add caching inside http is pretty straight forward. ( by passing cache=true )
http://docs.angularjs.org/api/ng.$http has Cache option.
How do I add simila
This doesn't seem to be mentioned here but you can also overwrite the default methods.
app.factory("List", ["$resource", function($resource) { return $resource("./lists/:path/:action.json", {}, { get: { method: "GET", cache: true } }); }]);