gpt4 book ai didi

php - 检索 redis 哈希数据

转载 作者:可可西里 更新时间:2023-11-01 11:21:21 25 4
gpt4 key购买 nike

我的开发环境是使用 predis 客户端库的 Laravel PHP 框架。

我可能忽略了某些方面,我是 Redis 的新手,但我认为我想要的是用于存储用户信息的哈希数据类型,如下所示:

$redis->hmset('users', array('id' : 1, 'username' => 'ali', 'dob' => '29/06/89', 'email' => 'a@a.com'));

但是,我的问题是,以上是我将所有用户的信息存储在一个散列中的正确方法,这样我就可以一起检索所有用户,并在必要时通过 ID 检索单个用户,因为我需要显示前端表中的所有用户,但有时也需要通过 ID 获取单个用户。

如果没有,我需要将每个用户存储在一个单独的散列中,如下所示,并将 ID 作为 key 的一部分,我如何一次性检索所有用户并进行排序?

$redis->hmset('users:{id}', array('name' => 'ali', 'dob' => '29/06/89', 'email' => 'a@a.com'));

非常感谢您的帮助。

最佳答案

我所做的正如您所说,给每个用户一个 ID 并以 users:{id} 格式存储它们。

然后你会想要将所有用户 id 存储在一个集合中,或者如果顺序对你很重要,那么可能是一个排序的集合或列表,所以像

$redis->sadd('users', {user's id});

这是用于存储在集合中的伪代码,因为我不确定 predis 的确切格式。

然后,当您想要检索所有用户时,首先执行 $redis->smembers('users') 来获取所有用户 ID,然后遍历这些 ID 以检索所有用户哈希值。

关于php - 检索 redis 哈希数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29983989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com