我有一些模型类,例如传递字典的用户类,并包装它提供各种方法,其中一些在需要更改值时与数据库通信。字典本身是由 sqlalchemy RowProxy 制成的,因此它的所有键实际上都是直接取自 sql 用户表的属性名称。(属性包括 user_id、username、email、passwd 等)
如果用户已登录,我是否应该简单地将这个字典保存到一个 redis 键值存储中,并在需要时简单地调用一个新的用户对象并从 redis 传递这个字典(这应该比只在会话中保存用户 ID 更快并根据该 user_id 从数据库再次加载值)?
或者我应该以某种方式序列化整个对象并将其保存在redis中?我很感激任何管理模型和会话对象的替代方法,你们中的任何人都觉得会更好。
如果有人想知道我只使用 sqlalchemy 表达式语言,而不是 orm。我将模型类用作接口,并针对它们进行编码。