Mat*_*oli 5 java memcached caching
我正在将缓存从EhCache迁移到Memcached.只有一个Memcached实例,有没有办法拥有多个缓存(如在EhCache中)?
例如,我想要一个"用户"缓存,一个"产品"缓存等......主要原因是能够分别监视和配置每个缓存,并且能够单独清除它们.
通常,这种行为是通过命名空间在 memcached 中实现的。在单个 memcached 实例中,维护多个命名空间,每个命名空间代表一个不同的缓存。然而,memcached 本身并不支持命名空间 - 相反,memcached 命名空间是通过在键前面加上命名空间标识符(例如memcachedClient.get('products.top10'))来模拟的。某些 memcached 客户端(例如Python GAE memcached 客户端)会为您抽象此行为。然而,据我所知,xmemcached 没有。
您有两个选择。
XMemcachedClient两个更改的瘦包装器:它有一个String namespace用作前缀值的成员,并且它覆盖get0()以应用该前缀。这有点危险,因为它依赖于当前的 XMemcached 实现。