以下是一个 PHP 函数,作用是查询数据库并使用 Memcached 缓存:

function get_data_from_db($key) {
    $memcache = new Memcached();
    $memcache->addServer('localhost', 11211);

    $data = $memcache->get($key);
    if ($data) {
        return $data;
    }

    $db = new mysqli('localhost', 'username', 'password', 'database_name');
    if ($db->connect_errno) {
        return null;
    }

    $stmt = $db->prepare('SELECT * FROM table_name WHERE key = ?');
    $stmt->bind_param('s', $key);
    $stmt->execute();
    $result = $stmt->get_result();

    $data = null;
    if ($result->num_rows > 0) {
        $data = $result->fetch_assoc();
        $memcache->set($key, $data, 3600); // 缓存1小时
    }

    $stmt->close();
    $db->close();

    return $data;
}

以上函数的实现过程如下:

  1. 首先,创建一个 Memcached 对象,并添加 memcached 服务器的地址和端口号。
  2. 然后,尝试从 Memcached 中获取指定的数据。如果存在,则直接返回数据。
  3. 如果 Memcached 中不存在数据,则连接数据库,并执行查询操作,获取数据。
  4. 如果查询结果中有数据,则将其存储到 Memcached 中,并设置过期时间为 1 小时。
  5. 最后,关闭数据库连接,返回数据。

使用该函数时,只需要传入需要查询的数据的键值,函数会自动从缓存或数据库中获取数据并返回。例如:

$data = get_data_from_db('some_key');
 if ($data) {
    // 处理数据
} else {
    // 数据不存在
}
PHP 函数:使用 Memcached 缓存数据库查询结果

原文地址: https://www.cveoy.top/t/topic/mFfs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录