服务器端缓存与客户端缓存以维护键值映射

时间:2018-06-15 07:37:48

标签: php mysql caching extjs redis

我有一个使用extjsphp后端编写的网络应用。后端可以访问数据库AB。该应用程序包含显示大量用户信息的各种网格;对于这个问题很重要的是userID,它在大多数网格中显示为单独的列。

问题

由于某些原因,数据库userID中的B必须由用户accountID替换。但前端仍然需要显示用户userID。这意味着我必须在userID - accountID之间建立某种形式的映射,以维持预期的功能。

请注意,userID - > accountID映射在数据库A

中可用

潜在解决方案

服务器端缓存 - 大约有10000个用户。我考虑过的一个选项是服务器端缓存,例如redis来维护这种映射。但是仍然需要在后端解析查询结果,并将每个userID替换为相应的accountID并发送到前端。例如,来自查询的500个结果行意味着500 redis次调用以获取相应的userID(?)性能可能是一个问题。

客户端缓存 - 使用LocalStorageLocalForage或甚至简单hashmap等客户端存储选项,并将映射详细信息从redis加载到前端。然后,在渲染网格数据时,使用此映射获取相应的userID

当从应用程序向数据库发送数据时,映射必须以相反的方式工作。

还存在诸如保持redis更新数据库的问题,因为可能存在用户信息可能发生变化的情况。然后还需要更新客户端缓存。所有这些都需要被视为解决方案的一部分。

我希望得到一些反馈以及我可以解决此问题的任何其他潜在解决方案。

0 个答案:

没有答案