我的服务器端代码在Dart上运行,目前通过redis_client使用Redis作为数据存储。
大多数情况下,我会保留原始数据类型,例如整数和字符串。但是,我也有一些业务对象,例如User,理想情况下我也希望将它们存储在 Redis 中。
当然,Redis 是一个键值对存储,而不是像 MongoDB 这样成熟的文档数据库。所以我开始编写自己的序列化和持久化逻辑——例如,一个简单的User获取器:
import 'dart:convert';
...
Future<User> GetUser(String userGuid)
{
var userKey = "userGuid:" + userGuid.toString();
return redisClient.get(userKey).then((String value) {
return new User.fromJSON(value);
});
}
在我继续为我的所有业务实体手工制作整个持久性逻辑之前 - 是否已经有某种 Redis/Dart 数据访问包我应该知道,类似于例如redis_orm (Ruby)?
如果没有,我可能会自己写。
(不想称它为 ORM,因为,Redis != 关系 - 但实际上这就是我正在寻找的)