문제

Below is my php script,I am selecting data from database and then storing resultset array into redis cache using set command but not able get exactly data when I am trying to get using get command

<?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;
?>

When I do print_r($result) it gives only Array.What is the problem in approach or is there any other method to do this.

Any help appreciated. Thank you

도움이 되었습니까?

해결책

If you want to store a result set corresponding to a key in Redis either json_encode the string or store the array result as a SET in Redis.

다른 팁

As far as I know you have to pass a string to Redis set function. But you are passing an array.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top