PDO使用Memcache存储阵列

时间:2014-04-04 05:00:16

标签: php pdo memcached

我正在尝试将数组存储在缓存中,但是我收到了错误:

  

md5()期望参数1为字符串,对象在

中给出

以下是代码:

function getList(){
        global $meminstance;

        $query = $this->connection->prepare("SELECT id FROM " . TBL_LIST . " ORDER BY name");
        $query_key = "KEY" . md5($query);
        $list = $meminstance->get($query_key);

        if (!$list){
            $query = $this->connection->query("SELECT id FROM " . TBL_LIST . " ORDER BY name");
            $list = $query->fetch(PDO::FETCH_ASSOC); 
            $meminstance->set($query_key, $list, 0, 600);
        }
        return $list;
    }

错误是什么意思?我做错了什么?

1 个答案:

答案 0 :(得分:0)

您尝试使用md5对象而不是字符串。也没有什么可以准备的。

试试这个。

function getList(){
        global $meminstance;

        $sql = "SELECT id FROM " . TBL_LIST . " ORDER BY name";
        $query_key = "KEY" . md5($sql);
        $list = $meminstance->get($query_key);

        if (!$list){
            $query = $this->connection->query($sql);
            $list = $query->fetch(PDO::FETCH_ASSOC);
            $meminstance->set($query_key, $list, 0, 600);
        }
        return $list;
    }