Question

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

Was it helpful?

Solution

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.

OTHER TIPS

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

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top