如何将数组添加到redis?

时间:2014-01-30 19:53:47

标签: php redis

参与者     我使用REDIS数据库并使用PHP客户端http://rediska.geometria-lab.net/documentation/     在这里,我找到了Sorted sets类型,并尝试为当前用户创建用户列表。     我的代码是:

$sortedSet = new Rediska_Key_SortedSet('userslist'); // use collaction userslist
        $sortedSet[1] = array('name' => 'Max');
        $sortedSet[1] = array('name' => 'Vasile');

据我所知,userslist表示集合的名称,$ sortedSet [1]键中的数字1。然后,在控制台中通过客户端redis-cli写道:

127.0.0.1:6379> SMEMBERS 1: userslist 
(empty list or set) 
and get a empty blank ... prompt, what am I doing wrong? May be my concept is wrong?

2 个答案:

答案 0 :(得分:1)

有序集合命令以Z为前缀。

http://redis.io/commands#sorted_set

尝试:

ZRANGE userslist 0 -1

答案 1 :(得分:0)

对于排序集USE ZSETS

,SMEMBERS未设置为SORTED SETS
 ZADD myzset 3 "two"
 ZRANGE myzset 0 -1 WITHSCORES

ZADD需要3个参数键,得分和成员,你没有在你的代码中提供

ZADD myzset 1 "one"
ZADD myzset 1 "uno"

您必须使用ZRANGE从排序集中获取范围

ZRANGE myzset 0 -1   // This will give all values in SETS

我不知道PHP库是如何工作的,但似乎你已经覆盖了成员

$sortedSet[1] = array('name' => 'Max');
$sortedSet[1] = array('name' => 'Vasile');

在redis-cli上使用Monitor命令,它将帮助您分析redis正在处理的命令。所以启动redis-cli并键入monitor然后运行你的脚本并检查redis-cli命令它正在触发

redis-cli monitor

提示:在了解事情的运作方式之前,请尽量不要编写任何代码。例如。在这种情况下,尝试理解SETS和ZSETS之间的区别