Espaces de noms à Redis?

Est-il possible de créer des espaces de noms dans Redis?

D’après ce que j’ai trouvé, toutes les commandes globales (compter, supprimer tout) fonctionnent sur tous les objects. Est-il possible de créer des sous-espaces tels que ces commandes soient limitées dans leur contexte?

Je ne veux pas configurer différents serveurs Redis à cette fin.

Je suppose que la réponse est “Non”, et je me demande pourquoi cela n’a pas été implémenté, car cela semble être une fonctionnalité utile sans trop de frais généraux.

Un serveur Redis peut gérer plusieurs bases de données … numérotées. Je pense qu’il fournit 32 d’entre eux par défaut; vous pouvez y accéder en utilisant l’option -n de la commande de script shell redis-cli et en utilisant des options similaires aux arguments de connexion ou en utilisant la méthode "select()" sur ses objects de connexion. (Dans ce cas, .select() est le nom de la méthode du module Python Redis … Je suppose qu’il est nommé de la même manière pour les autres bibliothèques et interfaces.

Il existe une option pour contrôler le nombre de bases de données séparées que vous souhaitez dans le fichier de configuration du démon du serveur Redis. Je ne sais pas quelle serait la limite supérieure et il ne semble pas y avoir de moyen de changer cela de manière dynamic (en d’autres termes, il semble que vous deviez arrêter et redémarrer le serveur pour append des bases de données supplémentaires). En outre, il ne semble pas exister d’associer ces numéros de firebase database à n’importe quel nom, ni leur imposer des ACLS distincts, ni même des mots de passe différents. Redis, bien sûr, est également sans schéma.

Si vous utilisez Ruby, vous pouvez regarder ces joyaux:
https://github.com/resque/redis-namespace
https://github.com/jodosha/redis-store