Redis error: OOM command not allowed when used memory > 'maxmemory'
У вас происходит не то, что вы, вероятно, думаете.
У вас просто кончается выделенная redis память, т.е. вы упираетесь в maxmemory 300000000.
Надо или разобраться, что туда в таком количестве пишется(или почему не удаляется).
Или изменить стратегию удаления данных из него, например, удалять не только что expire, как по умолчанию, а всё что угодно, что давно не использовалось(maxmemory-policy allkeys-lru, !данные будут пропадать!)
Или выделять больше памяти.
Или не использовать его как базу данных, т.к. он не для того нужен... =)
Также, в определённых случаях, redis может использовать до 2х раз больше памяти, чем в него записано данных, если идёт большое количество операций записи.