0

我必须使用 redis 和 phpredis 构建一个存储日志和显示日志的应用程序。

在显示此日志之前,我需要进行排序和查询。

日志模型:

id -> 12
group -> sql
level -> error
message -> query return an error
timestamp -> 123423343
url -> htpp://...

查询示例:

-> Show me logs with group = sql and level = error
-> Show me all logs
-> Show me logs with group = sql and timestamp < 1342163216 && >1585876877

然后结果需要按 id (ASC) 排序。

所以我想知道这是否可能?以及选择什么型号?

我已经尝试过字符串、哈希、集合、列表,但我不能做任何我想做的事情。

4

1 回答 1

0

Redis 适合缓存系统。所以你不能像那样查询redis。但是您可以在 Redis 上使用 Sets 或 SortedSet 构建倒排索引。

字段名和值(group.sql、level.error、level.info)可以是键(term),日志id可以是倒排索引中的值(posting)。

使用该索引,您可以获得示例中第一种情况的查询结果。但它不能涵盖所有的即席查询,如 SQL

于 2013-08-29T20:11:34.020 回答