为什么Redis使用整数数据库编号?

为什么Redis使用整数数据库而不是string? 保持一个小的内部数据结构将string映射到“实际”整数似乎是微不足道的。

Redis不使用string作为数据库名称,而是使用索引的原因是,Redis数据库的目标和能力不是提供一个外层的字典:Redis字典不能扩展到许多字典,而只是一小部分(它是一个折衷),我们也不想为每个devise提供嵌套的数据结构,所以这只是“一些命名空间”,因此使用数值小的索引似乎是最好的select。

命名数据库并不适合redis的devise目标。 首先,在为最大性能而devise的系统中,当大多数用户将所有内容都放入DB 0时,为每个调用添加一个string查找并不是一个好主意。

另一个devise目标是保持核心的简单 – 如果一个请求的新命令可以通过在客户端上结合现有的命令而实现,而不会有巨大的性能损失,那么它不会被添加到核心系统中。 如果你真的需要命名数据库,更新你的客户端代码读取一个string并发送一个数字到redis是微不足道的。