Is there a decorator to simply cache function return values?

Starting from Python 3.2 there is a built-in decorator: @functools.lru_cache(maxsize=100, typed=False) Decorator to wrap a function with a memoizing callable that saves up to the maxsize most recent calls. It can save time when an expensive or I/O bound function is periodically called with the same arguments. Example of an LRU cache for computing Fibonacci … Read more

Angular IE Caching issue for $http

Instead of disabling caching for each single GET-request, I disable it globally in the $httpProvider: myModule.config([‘$httpProvider’, function($httpProvider) { //initialize get if not there if (!$httpProvider.defaults.headers.get) { $httpProvider.defaults.headers.get = {}; } // Answer edited to include suggestions from comments // because previous version of code introduced browser-related errors //disable IE ajax request caching $httpProvider.defaults.headers.get[‘If-Modified-Since’] = ‘Mon, … Read more

How to cache data in a MVC application

Here’s a nice and simple cache helper class/service I use: using System.Runtime.Caching; public class InMemoryCache: ICacheService { public T GetOrSet<T>(string cacheKey, Func<T> getItemCallback) where T : class { T item = MemoryCache.Default.Get(cacheKey) as T; if (item == null) { item = getItemCallback(); MemoryCache.Default.Add(cacheKey, item, DateTime.Now.AddMinutes(10)); } return item; } } interface ICacheService { T GetOrSet<T>(string … Read more

How to Empty Caches and Clean All Targets Xcode 4 and later

Command-Option-Shift-K to clean out the build folder. Even better, quit Xcode and clean out ~/Library/Developer/Xcode/DerivedData manually. Remove all its contents because there’s a bug where Xcode will run an old version of your project that’s in there somewhere. (Xcode 4.2 will show you the Derived Data folder: choose Window > Organizer and switch to the … Read more

Is Redis just a cache?

No, Redis is much more than a cache. Like a Cache, Redis stores key=value pairs. But unlike a cache, Redis lets you operate on the values. There are 5 data types in Redis – Strings, Sets, Hash, Lists and Sorted Sets. Each data type exposes various operations. The best way to understand Redis is to … Read more

Java time-based map/cache with expiring keys [closed]

Yes. Google Collections, or Guava as it is named now has something called MapMaker which can do exactly that. ConcurrentMap<Key, Graph> graphs = new MapMaker() .concurrencyLevel(4) .softKeys() .weakValues() .maximumSize(10000) .expiration(10, TimeUnit.MINUTES) .makeComputingMap( new Function<Key, Graph>() { public Graph apply(Key key) { return createExpensiveGraph(key); } }); Update: As of guava 10.0 (released September 28, 2011) many … Read more

Force browser to clear cache

If this is about .css and .js changes, then one way is “cache busting” by appending something like “_versionNo” to the file name for each release. For example: script_1.0.css // This is the URL for release 1.0 script_1.1.css // This is the URL for release 1.1 script_1.2.css // etc. or after the file name: script.css?v=1.0 … Read more