使用Redis DB的Php分页

时间:2016-05-25 07:31:35

标签: php pagination redis

我想显示customerspagination的列表.DB的结构如下:

redis:> hset customerlist username userid (where username:almas userid:1)
redis:> hmset customerlog:1 userid value1 name value2 contactno value3
(where value1:1 , value2: almas sayyad, value3: 8676756556)

我使用过hash set并希望继续使用相同的数据类型。 如果任何人能为我提供解决方案,我将非常感激。

1 个答案:

答案 0 :(得分:1)

TL; DR分散哈希并不是一件容易的事 - 您应该考虑使用更适合该任务的不同数据结构,即排序集。

哈希没有顺序,唯一可以巧妙地迭代字段的方法是使用HSCAN。但是,扫描是无序的,可以返回重复项,每次调用的结果数量也各不相同 - 在此基础上构建分页机制具有挑战性和低效率。

您可以将数据(即用户)保留在哈希值中,但也将字段名称存储在排序集中。您可以为每个用户分配一个分数来订购它们,或者只使用词典排序 - 无论哪种方式,您都可以使用排序集进行分页。