內容目录

上一个主题

共享 MySQL、独享 MySQL 对比

下一个主题

Redis

Memcached

服务概述

Memcached 是一个高性能的分布式内存对象缓存系统,可以用于动态 Web 应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据库驱动网站的速度。

Memcached 主要的使用场景有以下两个:

  • 需要共享某些 Key-Value 形式的小数据时。(因为新浪云的 Web 服务是分布式环境,所以使用全局变量方式等方式是不行的)。
  • 缓存 MySQL 等后端存储的数据。快速进行数据响应,减轻后端存储的压力,同时,还可以为这些缓存数据指定过期时间。

Memcached 的实现决定了缓存的数据不是永久有效的,因此应用程序必须有针对 Memcached 失效时的向后端存取数据的重试方案。

您可以在应用管理面板的『存储与 CDN /Memcached 』中创建 Memcached,然后在应用中通过 API 读写 Memcached。

注解

Memcached 不适合存放大文件,目前仅允许存放小于 1MB 的数据。

API使用手册

官方文档: PHP: Memcached - Manual

使用方法和标准的一样,唯一不一样的地方是不用添加服务器地址。

若应用开启了跨应用授权,可以在调用 new Memcached() 时传入被授权应用的 AccessKey,初始化成功后,即可读写被授权应用的 Memcached 数据。

使用示例

<?php
$mmc = new Memcached(); //使用本应用Memcache

$mmc = new Memcached("accesskey"); //使用其他应用的Memcache
if ($mmc == false) {
    echo "mc init failed\n";
} else {
    $mmc->set("key", "value");
    echo $mmc->get("key");
}

?>