Php 在Redis中使用REDISQL从表中选择数据
我已经成功地在Ubuntu 16.04.6中安装了Redis 以下是在redis中设置和获取值的演示代码Php 在Redis中使用REDISQL从表中选择数据,php,sql,redis,Php,Sql,Redis,我已经成功地在Ubuntu 16.04.6中安装了Redis 以下是在redis中设置和获取值的演示代码 <?php //Connecting to Redis server on localhost $redis = new Redis(); $redis->connect('127.0.0.1', 6379); //set the data in redis string $redis->set("tutorial-name",
<?php
//Connecting to Redis server on localhost
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
//set the data in redis string
$redis->set("tutorial-name", "Redis tutorial");
// Get the stored data and print it
echo "Stored string in redis:: " .$redis->get("tutorial-name");
?>
# redis-cli -p 6379
127.0.0.1:6379> REDISQL.EXEC DB "SELECT * FROM foo;"
1) 1) (integer) 3
2) "bar"
现在我想用SQL在redis中存储一些值,所以我用RedisSQL配置了redis,它可以正确地配置,并且可以在命令行中正常工作
我已经创建了一个DB,并插入了一条测试记录
以下是Redis中SQL select查询的输出
<?php
//Connecting to Redis server on localhost
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
//set the data in redis string
$redis->set("tutorial-name", "Redis tutorial");
// Get the stored data and print it
echo "Stored string in redis:: " .$redis->get("tutorial-name");
?>
# redis-cli -p 6379
127.0.0.1:6379> REDISQL.EXEC DB "SELECT * FROM foo;"
1) 1) (integer) 3
2) "bar"
现在,我想尝试在PHP脚本中获得相同的查询结果,因此我搜索了它,并找到了类似使用rawcommand在redis中获得命令输出的方法,因此我尝试使用与下面相同的命令
# php redis.php
Stored string in redis:: Redis tutorial
<?php
//Connecting to Redis server on localhost
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$result = $redis->rawCommand('REDISQL.EXEC', 'foo', 'SELECT * FROM foo;');
echo "Foo table Data:";
print_r($result);
?>
那么,有谁能指导我使用rawCommand或任何其他命令获得SQL查询的正确结果呢
提前感谢。请尝试用双引号引用select语句
$result = $redis->rawCommand("REDISQL.EXEC", "foo", "SELECT * FROM foo");
这是php、sql还是redis的问题?您需要什么样的帮助?php中的问题,在redis中,它可以使用命令行正常工作,但在php脚本中,使用redis没有sql查询的响应。我明白了。我的php知识很少,所以我不能帮你。@jarlh,好的,没问题,谢谢你有兴趣解决我的问题。你是如何解决的?