【发布时间】:2011-10-26 11:42:48
【问题描述】:
我有一个关于使用 NHibernate 和 memcache 进行二级缓存的问题。假设如下配置:
网站 A 使用 DB_A。正在缓存表 X 中的数据。 网站 B 使用 DB_B。正在缓存表 X 中的数据。
两个网络应用共享一个内存缓存服务器。
现在,DB_A 和 DB_B 中的表 X 虽然具有相同的架构,但具有不同的数据,因此 DB_A 中 PK = 1 的行将与 DB_B 中 PK = 1 的行不同。
我的问题是,每个应用程序是否会破坏对方的数据,或者二级缓存是否足够智能,可以创建不重叠数据库的缓存键。
【问题讨论】:
-
您可以为内存缓存键定义一个前缀,这样您就可以将两个站点设置为使用不同的前缀并知道所有键都是 A_UserTable 或 B_UserTable...
标签: nhibernate memcached second-level-cache collision