从服务器获取redis密钥
您好,我正在使用redis作为游戏开发人员,我遇到了一个棘手的问题,我已经进行了大量调试。基本上,我的游戏客户端上有一个变量,该变量使用phpredis从redis获得的密钥进行设置 在我的游戏客户端上: 我的用户=从服务器输入 这样,我的\ u用户现在持有字符串值“piece”,我将使用它建立一个新的redis列表 因此,为了描述我的问题,当我从一个单独的游戏客户端按下键“piece”时,我可以从redis cli弹出“piece”,此外,当我静态键入“piece”时,我可以从“other”游戏客户端弹出,但当我使用变量my_user时,它不起作用 我确信my_用户变量包含字符串值“piece” 也许更清楚地总结一下,在我的服务器上,我有:从服务器获取redis密钥,redis,phpredis,Redis,Phpredis,您好,我正在使用redis作为游戏开发人员,我遇到了一个棘手的问题,我已经进行了大量调试。基本上,我的游戏客户端上有一个变量,该变量使用phpredis从redis获得的密钥进行设置 在我的游戏客户端上: 我的用户=从服务器输入 这样,我的\ u用户现在持有字符串值“piece”,我将使用它建立一个新的redis列表 因此,为了描述我的问题,当我从一个单独的游戏客户端按下键“piece”时,我可以从redis cli弹出“piece”,此外,当我静态键入“piece”时,我可以从“other”游
<?php
//melon game pop
//connect to redis db
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
//receive the data as json
$data = json_decode(file_get_contents('php://input'), true);
//parse my data in to separate variables
if ($data != null) {
$key = $data['key'];
$value = $data['value'];
}
$my_echo = $redis->rpop($key);
print $my_echo;
?>
只有当传入的数据未从redis设置时,该选项才起作用。
我目前只使用我的redis数据库中的列表,所以我得到的密钥类型没有任何混淆
我觉得我在吃疯狂的药丸,因为在我开始使用动态设置变量之前,一切都很好
好的,我在我的数据库上运行了密钥,发现了以下内容:
129“非道德的”
130)“a\xe4\xbd\xa0”
131)“afpfqp”
132)“a\xe4\xbd\xa0\xe6\x88\x91\xe5\xa5\xb9”
133)“a\xe9\xab\x98\xe8\x80\x83\xe5\x93\xa6\xe5\x9c\xa8\xe6\x88\x91\xe4\xbb\xac\xe5\x93\xa6\xe5\x85\x9c\xef\xbc\x8ctu”
134)“httpass1”
带反斜杠的钥匙不是我期待的。
这是某种编码吗?有没有办法解决这个问题?也许请求中的数据是以某种方式编码的?如果在Redis cli中运行
KEYS*
(警告:不要在生产中使用KEYS
),您实际上可以在Redis服务器中看到密钥名称。感谢我知道KEYS命令,没有真正的ana应用程序,但我发现了:“awwe1pfap”129)“amoral”130)“a\xe4\xbd\xa0”131)“afpfqp”132)“a\xe4\xbd\xa0\xe6\x88\x91\xe5\xa5\xb9”133)“a\xe9\xab\x98\xe8\x80\x83\xe5\x93\xa6\xe5\x9c\xa8\xe6\x88\x91\xe4\xbb\xac\xe5\x93\xa6\xe5\x85\x9c\xef\xbc\x8ctu”134)“httpass1“带反斜杠的完全出乎意料,你知道发生了什么吗?实际上我现在更迷路了,但至少我知道它为什么不起作用。