dot Redis 8 来了——而且它是开源的

了解更多

索引模式

返回术语表

索引模式定义

索引模式指的是用于在搜索索引中组织和构建数据以优化搜索查询性能的策略。索引模式的目标是减少搜索大型数据集所需的时间和资源。

Redis 索引模式最佳实践

Redis 是一种内存键值存储,通常用作缓存或数据库。与传统关系型数据库不同,Redis 不以相同方式支持 SQL 查询和索引模式。Redis Search 是一个源代码可用的 Redis 模块,之前主要被认为是全文搜索工具。但随着近期 2.0 版本的发布,Redis Search 变得更加强大和通用,为 Redis 提供了缺失的查询和索引引擎。

Redis 数据模型

Redis 数据库包含许多键,键名创建了一个命名空间。Redis 数据库中的每个键都类似于关系型数据库中的主键。例如,要在 Redis 中对用户建模,一种方法是为每个用户创建一个哈希。每个哈希都通过一个键(例如“users:profile:user_id”)来访问。在哈希内部,存储了用户的名字、姓氏、用户名、注册日期和其他数据。

Redis 中的二级索引

如果您想按主键以外的属性进行查询,例如按姓氏、注册日期或居住国家/地区,则需要二级索引。二级索引将每个属性映射到具有该属性的一组主键。在 Redis 中,您需要在查询数据之前创建 Redis Search 索引。

传统数据库 vs. Redis

在像 PostgreSQL 这样的传统关系型数据库中,您将数据存储在表中并使用 SQL 查询。为了使查询高效,您会添加索引。在 Redis 中,您将数据存储在哈希中,并在查询之前对数据创建 Redis Search 索引。

创建 Redis Search 索引

创建 Redis Search 索引涉及指定要索引的字段、它们的数据类型以及索引的名称。例如,要索引用户的名字、姓氏、个人简介、注册日期和国家代码,您将运行以下命令

vbnetCopy codeFT.CREATE users_idx ON HASH PREFIX 1 users:profile: SCHEMA 
   first_name TEXT 
   last_name TEXT 
   bio TEXT 
   registered_on NUMERIC 
   country_code TAG 

查询 Redis Search

创建索引后,您可以使用 Redis Search 的查询功能进行查询。Redis Search 支持复杂的查询功能,例如全文搜索、数字范围查询和地理空间查询。