Ответ 1
Я бы сказал, что есть две возможности:
1/Приложение django не может подключаться к экземпляру Redis, к которому, по вашему мнению, подключен, или к запущенному клиенту redis-cli не подключается к тому же экземпляру Redis.
Обратите внимание, что в обоих случаях вы не используете тот же самый точный механизм соединения. Django использует Unix Domain Socket, а redis-cli использует loop loop (по умолчанию). Вы можете запустить redis-cli, используя тот же путь сокета, чтобы убедиться:
$ redis-cli -s /tmp/redis_6379.sock
Теперь, когда вы подтвердили команду MONITOR, что вы видите команды, отправленные Django, мы можем предположить, что вы подключены к правильному экземпляру.
2/В Redis существует концепция базы данных. По умолчанию у вас есть 16 различных баз данных, а текущая база данных по умолчанию равна 0. Команда SELECT может использоваться для переключения сеанса на другой база данных. В каждой базе данных имеется одно ключевое пространство.
Команда INFO KEYSPACE может использоваться для проверки того, определены ли некоторые ключи в нескольких базах данных.
redis 127.0.0.1:6379[1]> info keyspace
# Keyspace
db0:keys=1,expires=0
db1:keys=1,expires=0
Здесь у меня есть две базы данных, пусть проверяет ключи, определенные в базе данных db0:
redis 127.0.0.1:6379> keys *
1) "foo"
и теперь в базе данных db1:
redis 127.0.0.1:6379> select 1
OK
redis 127.0.0.1:6379[1]> keys *
1) "bar"
Мое предложение было бы также проверить, отправляет ли приложение Django какую-либо команду SELECT во время подключения к экземпляру Redis (с помощью MONITOR).
Я не знаком с Django, но способ, которым вы определили параметр LOCATION, заставляет меня думать, что ваши данные могут быть в базе данных 1 (из-за суффикса).