Comment afficher TOUTES les touches, à travers redis-cli?

Je suis en utilisant le redis comme une base de données en mémoire principale pour django cache.

En particulier, j'utilise django-redis configuré comme suit:

CACHES = {
    'default': {
        'BACKEND': 'redis_cache.cache.RedisCache',
        'KEY_PREFIX':   DOMAIN_NAME,
        'LOCATION': 'unix:/tmp/redis_6379.sock:1',
        'OPTIONS': {
            'PICKLE_VERSION': -1,   # default
            'PARSER_CLASS': 'redis.connection.HiredisParser',
            'CLIENT_CLASS': 'redis_cache.client.DefaultClient',
        },
    },
}

Mon django cache semblent fonctionner correctement.

La chose étrange est que je ne peut pas voir django cache de clés à l'aide de la redis-cli ligne de commande.

[modifier]
Veuillez noter que dans ce qui suit que j'ai essayé les deux avec

$ redis-cli

et

$ redis-cli -s /tmp/redis_6379.sock

[endedit]

avec pas de différence.

En particulier, à l'aide de la KEYS * commande:

$ redis-cli
redis 127.0.0.1:6379> keys *
(empty list or set)

mais

redis 127.0.0.1:6379> set stefano test
OK
redis 127.0.0.1:6379> keys *
1) "stefano"

tout de django shell:

In [1]: from django.core.cache import cache

In [2]: cache.keys('*')
Out[2]:
[u'django.contrib.sessions.cachebblhwb3chd6ev2bd85bawuz7g6pgaij8',
 u'django.contrib.sessions.cachewpxiheosc8qv5w4v6k3ml8cslcahiwna']

Si je suis en utilisant MONITOR sur le cli:

redis 127.0.0.1:6379> monitor
OK
1373372711.017761 [1 unix:/tmp/redis_6379.sock] "KEYS" "project_prefix:1:*"

Je peux voir une demande, en utilisant le cache de django préfixe, qui doit prouver le redis-cli est connecté au même service.
Mais même à la recherche de ce préfixe dans le redis-cli retourne un (empty list or set)

Pourquoi est-ce?

Qu'est-ce que les mécanismes de compartimenter les différentes caches sur le même redis exemple?

  • Quelques commentaires sur le redis-cli de commande et les paramètres utilisés, en réponse à une réponse doutes
InformationsquelleAutor Stefano | 2013-07-09