您好我正在使用redis作为游戏开发人员,而且我遇到了一个棘手的问题,我已经进行了广泛的调试。基本上,我的游戏客户端上有一个变量,可以使用phpredis从redis设置密钥。
在我的游戏客户端上:
my_user = input_from_server;
这样my_user现在保存字符串值“piece”,我将用它来设置一个新的redis列表。
因此,为了描述我的问题,当我从一个单独的游戏客户端推送关键“片段”时,我可以从redis-cli弹出“片段”,此外,当我静态输入时,我可以从“其他”游戏客户端弹出out“piece”,但是当我使用变量my_user时它不起作用。
我确信my_user变量持有字符串值“piece”。
或许更清楚地总结一下,在我的服务器上我有这个:
<?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 \命苦\ x8ctu” 134)“httpass1”
带有反斜杠的键不是我期待的那些。 这是某种编码吗?有没有办法解决它?