如何从 Redis 缓存键获取数组值


how to get array value from redis cache key

下面是我的php脚本,我正在从数据库中选择数据,然后使用set命令将结果集数组存储到redis缓存中,但是当我尝试使用get命令获取时无法准确获取数据

<?php
    $redis = new Redis();
    $redis->connect('127.0.0.1', 6379);
    mysql_connect("localhost", "test", "testing123") or die(mysql_error());
    mysql_select_db("test") or die(mysql_error());
    $query = "select id from example where name = 'new_data'";
    $querykey = "KEY" . md5($query);
    echo $querykey;
    $result = $redis->get($querykey);
    echo "<pre>";
    print_r($result);
    if (!$result) {
        $result = mysql_fetch_array(mysql_query("select id from example where name = 'new_data'")) or die('mysql error');
        print_r($result);
        $redis->set($querykey, $result);
        print "got result from mysql'n";
        return 0;
    }
    print "got result from redis'n";
    return 0;
?>

当我做print_r($result)时,它只给出数组。方法上有什么问题,或者是否有任何其他方法可以做到这一点。

任何帮助表示赞赏。谢谢

如果要在 Redis 中存储与键对应的结果集,要么json_encode字符串,要么将数组结果作为 SET 存储在 Redis 中。

据我所知,您必须将字符串传递给 Redis set 函数。但是您正在传递一个数组。