是否可以在多个项目之间共享单个 Memcache 实例。
假设我在一个项目的内存缓存中推送一个对象,我是否可以从不同的项目中检索相同的对象。 ?
最佳答案
Memcache 只是一个内存存储。它可以跨多台机器运行。两个完全不同的进程没有理由不能通过它相互通信。
让我澄清一下。您可以在一台或多台服务器上运行 memcache。您可以将客户端配置为与一组特定的实例通信。您可以在同一主机上运行两个(或更多)不同的 memcache 进程(监听不同的 IP 地址和/或端口),并且它们是完全独立的。
如果您的两个应用程序与相同的实例通信,那么它们没有理由无法通信。
如果您与多个实例通信并对数据进行分区(即将数据拆分到不同的实例中),那么您的客户端需要知道从哪个实例获取数据或将数据放入哪个实例,情况就会变得复杂。如果您使用相同的客户端库(例如,您的两个客户端都是 PHP5),那么这并不是什么戏剧性的事情。如果它们不相同,那么您必须以某种方式处理该问题。
如果您使用不同的技术,另一个问题是您必须考虑交换格式,因为 PHP 中的自定义序列化在 Java 或 C# 中的可读性不那么好。典型的选择是 XML 甚至 JSON。
关于memcached - 内存缓存共享,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/545615/