Вместо непосредственного использования State
вы можете использовать свою собственную оболочку, которая использует KeyValueExpirableFactoryInterface
.См. Документацию Drupal для получения дополнительной информации о KeyValueStore API .
Пример:
$kvStorage = \Drupal::service('keyvalue.expirable')->get('my_collection_name');
$kvStorage->setWithExpire('my_key', 'my_value', time() + 3600);
Кроме того, эта статья из Palantir имеет хороший обзорразличных API для хранения данных в Drupal 8 и для чего они лучше всего.