Cache::set() 

\nn\t3::Cache()->set($identifier = '', $data = NULL, $useRamCache = false); 

Writes an entry to the Typo3 cache. The identifier is an arbitrary string or an array that uniquely identifies the cache.

// Classic application in the controller: Get and set cache
if ($cache = \nn\t3::Cache()->get('myid')) return $cache;
...
$cache = $this->view->render();
return \nn\t3::Cache()->set('myid', $cache);
Copied!
// Use RAM cache? Set TRUE as the third parameter
\nn\t3::Cache()->set('myid', $dataToCache, true);

// Set the duration of the cache to 60 minutes
\nn\t3::Cache()->set('myid', $dataToCache, 3600);

// An array can also be specified as the key
\nn\t3::Cache()->set(['pid'=>1, 'uid'=>'7'], $html);
Copied!
@param mixed $indentifier String or array to identify the cache
@param mixed $data Data to be written to the cache. (string or array)
@param mixed $useRamCache true: temporary cache in $GLOBALS instead of caching framework.
integer: How many seconds to cache?

| @return mixed

Source Code 

public function set( $identifier = '', $data = null, $useRamCache = false )
{
	$identifier = self::getIdentifier( $identifier );
	$lifetime = 86400;
	if ($useRamCache === true) {
		if (!isset($GLOBALS['nnhelpers_cache'])) {
			$GLOBALS['nnhelpers_cache'] = [];
		}
		return $GLOBALS['nnhelpers_cache'][$identifier] = $data;
	} else if ( $useRamCache !== false ) {
		$lifetime = intval($useRamCache);
	}
	$expires = time() + $lifetime;
	$cacheUtility = $this->getCacheInstance();
	if (!$cacheUtility) {
		return $data;
	}
	$serializedData = json_encode(['content'=>$data, 'expires'=>$expires]);
	$cacheUtility->set($identifier, $serializedData, [], $lifetime);
	return $data;
}
Copied!