选择语言 :

 Module_Storage_Driver_Database::get

取得数据,支持批量取

mixed Module_Storage_Driver_Database::get( string/array $key )

参数列表

参数 类型 描述 默认值
$key string/array $key
返回值
  • mixed
File: ./modules/storage/driver/database.class.php
public function get($key)
{
    if (is_array($key))
    {
        $md5_key = array();
        $key_map = array();
        foreach ($key as &$k)
        {
            $key_map[$this->prefix . $k] = $k;
            $k = $this->prefix . $k;
            $md5_key[] = md5($k);
        }

        $this->_handler->in('key', $md5_key);
    }
    else
    {
        $key = $this->prefix . $key;

        $this->_handler->where('key', md5($key))->limit(1);
    }

    $rs = $this->_handler->select('key_string', 'value')->from($this->tablename)->get();

    if ($rs->count())
    {
        if (is_array($key))
        {
            $return = array();
            foreach ($rs as $data)
            {
                $data_key = $key_map[$data['key_string']];
                $return[$data_key] = $data['value'];
                $this->_de_format_data($return[$data_key]);
            }
        }
        else
        {
            $return = $rs->current();
            $return = $return['value'];
            $this->_de_format_data($return);
        }

        if (IS_DEBUG)Core::debug()->info($key, 'database storage hit key');

        unset($rs);

        return $return;
    }
    else
    {
        if (IS_DEBUG)Core::debug()->error($key, 'database storage mis key');
    }

    return false;
}