簡體   English   中英

如何從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)時,它只給出了Array 。方法中的問題是什么,或者有沒有其他方法可以做到這一點。

任何幫助贊賞。 謝謝

據我所知,你必須將一個字符串傳遞給Redis設置函數。 但是你傳遞了一個數組。

如果要在Redis中存儲與鍵對應的結果集,請對字符串進行json_encode或將數組結果存儲為Redis中的SET。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM