Redis не имеет выделенных команд для отправки и истечения срока действия списка, хотя, как вы уже упоминали, для типа данных String есть нечто подобное.
Способ решения этой задачи состоит в том, чтобы составить свою собственную «команду» из существующих. Однако вместо того, чтобы приложение вызывало эти команды, вы должны использовать скрипт Lua, как описано на странице документации EVAL
.
Скрипты Lua кэшируются и запускаются на сервере атомарно. Один из таких, как следующий, вероятно, поможет в вашем случае - он ожидает получить имя ключа, отправленный элемент и значение срока действия:
local reply = redis.call('RPUSH', KEYS[1], ARGV[1])
redis.call('EXPIRE', KEYS[1], ARGV[2])
return reply