可以通过为每个数据集创建单独的数据库(有时Redis称之为“密钥空间”)来实现这一点。然后使用
db
参数:
>>> pool = redis.ConnectionPool(host='redis_host', port=6379, db=0)
>>> r = redis.Redis(connection_pool=pool)
这样做的唯一缺点是,然后需要为每个数据集管理不同的池。另一个(可能更容易)的选择是只向键添加一个标记,指示它们属于哪个数据集。
还值得注意的是,密钥空间是以数字形式组织的(因此不能像在其他数据库系统中那样命名),它只支持一个小数字(我认为是15)。
至于K-V对的数量,存储大量的K-V对是完全可以的,而且查找应该仍然非常快。O(1)查找是基于键的数据结构的主要优点,折衷是您(无论如何在某种程度上)只能使用键访问数据(而不是其他数据库,在这些数据库中,您可以查询表中的任何字段)。