Ну в обратном направлении просто, клиент отправляет по веб-сокетам данные, сервер делает publish в Redis, а Tornado (или даже само С-шное приложение) слушает этот канал в Redis и отправляет сообщение устройству.
Ключ 'database' должен разные значения иметь. Поставьте первому сайту 0, а второму 1 и они не будут конфликтовать, при условии что не используются server-level команды, вроде FLUSHALL.
Редис совсем не годится для этой задачи. Он больше подходит для хранения "горячих данных", т.к. весь набор данных он хранит в ОП (с возможностью сохранения снимка на диске). Для большого объема редко используемых данных подойдет что-то типа PostgreSQL или множество других персистентых хранилищ данных.