code: func (kvc *KVCache) WriteTo(writer KVWriter) {
  	kvc.Lock()
  	defer kvc.Unlock()
  	for k, vi := range kvc.cache {
  		kb := []byte(k)
  		if vi.deleted {
  			writer.Delete(kb)
  		} else {
  			writer.Set(kb, vi.value)
  		}
  	}
  }
docs: // Writes contents of cache to backend without flushing the cache