是否可以在 Redis 中创建命名空间?
根据我的发现,所有全局命令(计数、全部删除)都适用于所有对象。有没有办法创建子空间,使这些命令在上下文中受到限制?
我不想为此设置不同的 Redis 服务器。
我假设答案是“否”,并且想知道为什么没有实现这个功能,因为它似乎是一个没有太多开销的有用功能。
最佳答案
一个 Redis 服务器可以处理多个数据库……它们是有编号的。我认为它默认提供了 32 个;您可以使用 redis-cli shell 脚本命令的 -n 选项和连接参数的类似选项或使用 "select ()"
连接对象上的方法。 (在这种情况下,.select()
是 Python Redis 模块的方法名称……我认为其他库和接口(interface)的命名方式类似。
在 Redis 服务器守护程序的配置文件中,还有一个选项可以控制您需要多少个独立的数据库。我不知道上限是多少,而且似乎没有办法动态更改它(换句话说,您似乎必须关闭并重新启动服务器才能添加其他数据库)。此外,似乎没有办法将这些数据库编号与任何类型的名称相关联,也没有办法对它们施加单独的 ACLS,甚至不同的密码。当然,Redis 也是无模式的。
关于nosql - Redis 中的命名空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8614858/