memcache作为Nhibernate二级缓存

memcache作为Nhibernate二级缓存,nhibernate,memcached,second-level-cache,collision,Nhibernate,Memcached,Second Level Cache,Collision,我有一个关于NHibernate和memcache的二级缓存的问题。假设以下配置: 网站A使用DB_A。正在缓存表X中的数据。 网站B使用DB_B。正在缓存表X中的数据 两个web应用共享一个memcache服务器 现在,DB_A和DB_B中的表X在具有相同模式时具有不同的数据,因此DB_A中PK=1的行将不会与DB_B中PK=1的行相同 我的问题是,每个应用程序是否会对另一个应用程序的数据进行重击,或者二级缓存是否足够智能,可以创建不会覆盖数据库的缓存键。我不确定是否会有重叠、覆盖的数据。您需

我有一个关于NHibernate和memcache的二级缓存的问题。假设以下配置:

网站A使用DB_A。正在缓存表X中的数据。 网站B使用DB_B。正在缓存表X中的数据

两个web应用共享一个memcache服务器

现在,DB_A和DB_B中的表X在具有相同模式时具有不同的数据,因此DB_A中PK=1的行将不会与DB_B中PK=1的行相同


我的问题是,每个应用程序是否会对另一个应用程序的数据进行重击,或者二级缓存是否足够智能,可以创建不会覆盖数据库的缓存键。

我不确定是否会有重叠、覆盖的数据。您需要检查正在使用的缓存密钥。但是,您可能会发现一些有趣的内容很有帮助:


最后一个可能对你最有用。作者做了一些与您尝试的类似的事情,除了通过(不知何故)没有主键冲突使您的生活更轻松。

您可以为memcache键定义一个前缀,这样您就可以将两个站点设置为使用不同的前缀,并且知道所有键都将是a_UserTable或B_UserTable…我想您误解了。我认为我们实际上可能有主要的冲突。