.net 在2个web应用程序之间共享缓存

.net 在2个web应用程序之间共享缓存,.net,web,caching,.net,Web,Caching,我有两个web应用程序A和B,管理员使用A来管理目录和安全角色…其他用户使用B来。。。 在web应用程序B中,当用户登录时,我们在缓存中加载与用户相关的信息。 当管理员使用web应用程序A更新某个日期时,我们遇到了一些问题,这些信息不会反映在web应用程序B中,因为数据缓存在内存中。 有没有办法在不创建新的web应用或WCF服务的情况下更新应用之间的共享缓存 谢谢你的帮助, Bilel您不能在两个不同的web应用程序之间共享相同的内存缓存,因为缓存驻留在每个进程的内存中 相反,您可以使用Redi

我有两个web应用程序A和B,管理员使用A来管理目录和安全角色…其他用户使用B来。。。 在web应用程序B中,当用户登录时,我们在缓存中加载与用户相关的信息。 当管理员使用web应用程序A更新某个日期时,我们遇到了一些问题,这些信息不会反映在web应用程序B中,因为数据缓存在内存中。 有没有办法在不创建新的web应用或WCF服务的情况下更新应用之间的共享缓存

谢谢你的帮助,
Bilel

您不能在两个不同的web应用程序之间共享相同的内存缓存,因为缓存驻留在每个进程的内存中

相反,您可以使用Redis之类的分布式缓存,让您可以在不同的进程、web应用程序甚至不同的机器之间共享缓存项

如果您在Azure上,您可以在几分钟内轻松创建一个完全受管理的Azure(请参阅),并立即开始使用它

⚠️ 不过,我想给你一个警告

当您开始使用分布式缓存时,您可能会倾向于直接使用它,而不是内存缓存:这很可能是一个错误,因为您将失去数据的局部性,并且使用分布式系统时,就好像它们是本地的一样

因此,通常您会决定使用本地内存缓存(对于每个进程/服务器)和分布式内存缓存作为第二层缓存,以充分利用这两个方面:例如,这就是堆栈溢出本身所做的(请参阅)

但现在,您需要管理协调两层缓存之间数据的同步读取/更新/删除所需的所有功能,包括边缘情况、超时、回退等

如果可以的话,我建议试试FusionCache⚡