cmc :cache yes hashes as org-babel-sha1-hash, writes #+RESULTS[hash]:, and skips the run when the hash matches, including for :var references. Lisp header values, :colnames and :rownames with :cache are refused.