小白请教 redis 一小问题

2020-09-02 11:24:24 +08:00
 pinews
刚学 redis,环境 windows php,按照入门教程改了一下。
$redis->hSet("tutorial-name", "a", "1");
$redis->hSet("tutorial-name", "b", "2");

$data = $redis->hGetAll("tutorial-name");
var_dump($data);

结果是:boolean false

如果把 tutorial-name 换成其他字符是可以,咋回事啊?
2311 次点击
所在节点    PHP
6 条回复
CEBBCAT
2020-09-02 12:03:20 +08:00
https://documentation.help/php-redis/95153-10566-33069.html 提到:
执行如下的代码:
$redis->delete('h');
$redis->hSet('h', 'a', 'x');
$redis->hSet('h', 'b', 'y');
$redis->hSet('h', 'c', 'z');
$redis->hSet('h', 'd', 't');
var_dump($redis->hGetAll('h'));
将会输出以下结果:
array(4) {
["a"]=>
string(1) "x"
["b"]=>
string(1) "y"
["c"]=>
string(1) "z"
["d"]=>
string(1) "t"
}

你的输出结果原文是什么?贴一段验证代码吧
raysonlu
2020-09-02 13:33:26 +08:00
大几率是你自己的 key 写错了
heybuddy
2020-09-02 15:11:38 +08:00
```
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->hSet("tutorial-name", "a", "1");
$redis->hSet("tutorial-name", "b", "2");

$data = $redis->hGetAll("tutorial-name");
print_r($data);
```
output:
```
Array
(
[a] => 1
[b] => 2
)
```
Canon1014
2020-09-02 16:01:25 +08:00
emmmm,`keys *` 看看是不是 tutorial-name 已经存在了还是其他类型的
Canon1014
2020-09-02 16:03:15 +08:00
@Canon1014 #4 `type tutorial-name`
pinews
2020-09-02 16:12:20 +08:00
@Canon1014 哈哈哈 是的 已经存在了,之前的 set get 随手改成了 hSet hGetAll 。
谢谢了各位。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/703456

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX