用户特定数据应该在数据库级别还是在JSF会话范围内缓存?
答案 0 :(得分:2)
这个问题没有一个尺寸适合所有答案。在分布式应用程序中,状态可以存储在客户端(cookie等),内存中的应用程序层,或者像数据库这样的更持久的存储中。你也不必选择一个 - 你可以结合。
相反,您需要考虑用户状态数据:
还有其他组合,例如内存缓存,它们可以读取和写入数据库,并在一定的生命周期内缓存数据。如果数据不是绝对必须是最新的,那么这是一个选项。
另一种不同的方法是RESTful应用程序。
不要在服务中保持状态 - 一切都回到持久存储,资源可以在应用服务器外部缓存(akamai,客户端等......)。它通常会导致更具伸缩性的应用程序(即使单个操作可能不会那么快)。此时,持久存储选项定义了您的扩展方式。