是否可以在Redis中创建名称空间?
根据我的发现,所有全局命令(count,delete all)都适用于所有对象.有没有办法创建子空间,以便这些命令在上下文中受到限制?
我不想为此目的设置不同的Redis服务器.
我假设答案是"否",并想知道为什么不实现这一点,因为它似乎是一个有用的功能,没有太多的开销.
Jim*_*nis 33
Redis服务器可以处理多个数据库......这些数据库已编号.我认为它默认提供32个; 您可以使用redis-cli shell脚本编制命令的-n选项以及连接参数的类似选项或在其连接对象上使用方法来访问它们.(在这种情况下是Python Redis模块的方法名称...我认为它的名称与其他库和接口类似."select()".select()
可以选择在Redis服务器守护程序的配置文件中控制所需的单独数据库数量.我不知道上限会是什么,似乎没有办法动态改变它(换句话说,似乎你必须关闭并重启服务器以添加额外的数据库).此外,似乎没有将这些DB号与任何类型的名称相关联,也没有将单独的ACLS,甚至是不同的密码强加给它们.当然,Redis也是无架构的.
如果您使用 Node,ioredis具有透明的键前缀,它的工作原理是让客户端在命令中的每个键前面添加给定的字符串。它的工作方式与 Ruby 的redis-namespace相同。这种客户端方法仍然将所有密钥放入同一个数据库中,但至少添加了一些结构,并且不必使用多个数据库或服务器。
var fooRedis = new Redis({ keyPrefix: 'foo:' });
fooRedis.set('bar', 'baz'); // Actually sends SET foo:bar baz
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
24239 次 |
| 最近记录: |