Наконец, я использую следующий способ:
Сначала определите метод для удаления ключа в redis
r это redis.StrictRedis
экземпляр
def remove_alarm(code, alarm_last): # alarm_last means how many seconds the key will keep alive
time.sleep(alarm_last)
r.srem('alarms', code)
В моей основной программе я устанавливаю ключ для повторного ввода имен сигналов и кода значений и запускаю поток для вызова remove_alarm
r.sadd('alarms', code) # for code, it a paramater to my function
threading.Thread(target=remove_alarm, args=(code, alarm_last)).start()
Хотя ключ «тревоги» будет точно поддерживать в живых больше, чем дает alarm_last
(начиная снить займет некоторое время), но для меня это полезно.