16.2.2.3 使用命名空间

memcached缓存是一个非常简单 的海量键值存储系统,因此无法将数据自动划分到不同的部分。例如,如果您通过从 MySQL 数据库返回的唯一 ID 存储信息,那么存储来自两个不同表的数据可能会遇到问题,因为相同的 ID 可能在两个表中都有效。

一些接口提供了一种自动机制,用于 在将信息存储到缓存中时创建名称空间。实际上,这些命名空间只是给定 ID 之前的前缀,每次在缓存中存储或检索值时都会应用该前缀。

您可以通过使用描述对象的键和存储对象时提供的键中的唯一标识符来实现相同的基本原理。例如,在存储用户数据时,在用户的 ID 前加上 user:user-

笔记

使用名称空间或前缀仅控制存储/检索的密钥。memcached中没有安全性 ,因此无法强制特定客户端仅访问具有特定命名空间的密钥。命名空间仅用作识别数据和防止键值对损坏的方法。