code: func (r *ShardedTTL) Set(tenantID, key string, value interface{}) error {
  	r.Lock()
  	defer r.Unlock()
  
  	r.cache.Set(tenantID, key, value)
  	_, ok := r.setAts[tenantID]
  	if !ok {
  		r.setAts[tenantID] = make(map[string]time.Time)
  	}
  	r.setAts[tenantID][key] = time.Now()
  	return nil
  }
docs: // Set will persist a value to the cache or
  // override existing one with the new one