docs: def _flush(self, commit=True, using=None):
          """
          Flushes the internal cache, either to the memcache or rolls back
          """
          if commit:
              # XXX: multi-set?
              if self._uses_savepoints():
                  self._commit_all_savepoints(using)
              c = self.local.mget('%s_%s_*' %
                                  (self.prefix, self._trunc_using(using)))
              for key, value in c.items():
                  self.cache_backend.set(key, value, self.timeout)
          else:
              if self._uses_savepoints():
                  self._rollback_all_savepoints(using)
          self._clear(using)
          self._clear_sid_stack(using)