redis - 从 Redis 哈希中获取最佳结果

标签 redis

我正在尝试在 Redis 中编写查询以获取我的哈希键的前 2 个字段值..

基本上,当我执行 HVALS hashname 时,我想获取添加的前 2 个字段(最旧的 2 个)的值。这有点像在 SQL 数据库中获取 TOP 2 元组。

这在redis中可行吗?

最佳答案

不,这是不可能的。 Redis 哈希中的字段和值的顺序对于所有意图和目的都是随机的(尽管从对小型哈希的实验中获得的经验证据)。有关排序元素,请参阅 Redis 的排序集。

更新:为了回答评论中的问题,IIUC 看起来您可以仅使用字符串轻松解决它。由于 Redis 的性质,在任何给定时刻,要么有一个用户在等待特定匹配,要么为零。如果 key 不存在(即等待匹配的用户为零),您可以 SET matchmaking:blue username1:tokenGETDEL如果它存在的话。请务必使用 SET 的“NX”子命令、MULTI/EXEC 和/或 Lua 来确保这两个逻辑操作的原子性。

关于redis - 从 Redis 哈希中获取最佳结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44490181/

相关文章:

postgresql - 通过redis-py将PostgreSQL时间戳存储为redis排序集的分数:DataError

python - 最好的高并发Python/Redis服务器

go - 并发插入到Redis

java - 为什么 1 != 1 返回真?

lua - 在lua脚本中按降序获取 key 列表

Django 缓存用户的个人资料

node.js - node_redis ZRANGEBYLEX 返回 "ERR min or max not valid string range item"错误

laravel - 配置 Apache 反向代理以在生产环境中托管 Laravel Echo Server

redis - 在 Redis 中创建一个空的有序集

java - 内存中存储和处理大型数据列表 Spring Boot 2 java