В общем, решение на основе разделяемой памяти будет самым быстрым и в большинстве случаев будет иметь наименьшие издержки. Если ты можешь использовать это, сделай это.
Очереди сообщений, о которых я не знаю много, но когда выбор между базами данных и простыми файлами, я бы выбрал базу данных из-за проблем параллелизма.
Файл, который необходимо заблокировать, чтобы добавить в него строку, что может привести к тому, что другие сценарии не смогут написать свои сообщения.
В решении на основе базы данных вы можете работать с одной записью для каждого сообщения. Запись будет содержать уникальный идентификатор, получателя и сообщение. Сценарий получателя может легко опрашивать новые сообщения, а после прочтения быстро и безопасно удалить соответствующую запись.