- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在考虑在我的下一个项目中丢弃我的数据库以简化开发/演进。
实现它的一种方法是根本不离开对象领域并通过某种序列化持久化我的对象。能够在应用程序关闭时编辑初始对象状态会很好,因此像 JSON 这样的格式会很棒。
问题是 JSON 工具(如 Java Jackson),或者更确切地说 JSON 本身,无法保留引用,所以在反序列化对象图之后,我可以获得比序列化之前更多的实例 - 每个引用都指向同一个对象获取新实例。
我注意到了 JSPON但它似乎没有生命。
您如何看待这种方法 - 是不是太简单了以至于不可能?或者也许我应该使用一些 OODB(尽管它会产生额外的配置开销,但我想保持简单)。
最佳答案
大多数简单可移植序列化器(xml、json、 Protocol Buffer )都是树序列化器(不是图形序列化器),所以您会稍微看到这个问题...
您或许可以尝试使用不需要引用的 DTO 树?即代替:
Parent -(children)-> Child
<--(parent)--
你有(在 DTO 级别):
Parent {Key="abc"} -(child keys)-> {string}
Child {Key="def"} -(parent key)-> {string}
这应该可以与任何树序列化器一起使用;但它确实需要额外的(手动)处理。
有一些基于图形的序列化程序,例如 .NET 的 DataContractSerializer
(启用图形模式;默认情况下禁用);但这是不可移植的。
关于c# - 使用 JSON 序列化作为持久化机制而不是 RDB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078879/
我想我的 redis 配置可能搞砸了。使用 nodeBB 我试图与 git 共享我的 .rdb 文件,因为我想在我的本地环境和我的服务器上共享数据。 在寻找 .rdb 文件的过程中,我执行了 redi
我需要转换SQL语句RDB$GET_CONTEXT和 RDB$SET_CONTEXT从 Firebird 到 Interbase,我应该使用什么? 这是完整的 Firebird SQL: if (rd
我在这里内部运行一个 Redis 数据库,想制作一个“快照的快照”。 什么鬼?是的。我想每天将 .rdb 文件移动到 S3 的存储桶中。此外,它应该是一个计划操作(可能使用 cronTab 函数)。
我使用的是 redis-server 版本 Redis 4.0.9 (00000000/0) 64 位。尝试从 Heroku Redis 中保存的 RDB 文件恢复数据时(Redis 版本合规性 5.
Redis 一旦服务器宕机,内存中的数据将全部丢失,从后端数据库恢复这些数据,对数据库压力很大,且性能肯定比不上从 Redis 中读取,会拖慢应用程序。所以,对 Redis 来说,实现数据的 持久化
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我的 redis rdb 文件的大小一直在增长,直到数据库变得不可操作并且连接被拒绝。我意识到这与某些配置设置有关 - 我使用的是默认配置文件。 有什么办法可以防止这种情况发生吗?我不关心持续备份。
我使用 Redis,并将其保存为 .rdb 文件(每笔交易)。 我注意到生产中的 .rdb 每天增长 15 MB(现在是 75 MB)。 .rdb 文件有限制吗?这对 Redis 数据库的性能有影响吗
在 MySQL 或 Oracle 等数据库中,索引是如何实现的?我认为常规索引存储为 B 树,但找不到有关在多列上建立索引的复合索引的任何信息。我正在寻找所使用的数据结构的名称,以便研究它们。 更一般
在典型的 RDB 中,我可以描述与外键的关系。但是,我不确定如何有效地描述组内关系。我知道这很难理解,所以让我描述一下这个场景。 我想做一个成绩册服务,教师可以注册和创建类(class),学生可以注册
上下文 我有一个实时运行的 redis 服务器。 我要备份。 想法: 我想做以下事情: cp dump.rdb ~/some-other-location/06-24-2012.rdb ? 关注 我没
我正在尝试运行查询来提取 Firebird 中所有列的元数据。它看起来像这样: select f.RDB$RELATION_NAME as tableName, f.RDB$F
我正在尝试运行查询来提取 Firebird 中所有列的元数据。它看起来像这样: select f.RDB$RELATION_NAME as tableName, f.RDB$F
我记得玩过一些设置,我相信它改变了 dump.rdb 的位置。现在,dump.rdb 自动神奇地出现在我项目的根目录中。 它属于哪里,我该如何将它放回那里?另外,这个位置在生产环境中如何变化? 最佳答
我已阅读 Redis 文档以找到标题的答案。但我找不到它。我想知道在集群节点迁移时如何操作RDB和AOF。 假设在同一个集群中有2个节点。(A节点,B节点)* RDB、AOF选项开启。 如果A的一些数
我正在使用 redis 2.6.9。目前,我不确定 dump.rdb 文件来自哪个版本的 redis(我正在尝试从另一台计算机复制 redis 信息 - 如果这不起作用,我将查看 slave 选项)。
很抱歉,如果这是一个重复的问题,但我已经在 stackoverflow 上搜索了几个小时,但找不到答案。 场景: 我更改了 Redis 的 dump.rdb 的默认目录,因为我的雇主希望它在特定目录中
我正在经历 Redis RDB 持久化。我对 RDB 持久性与其缺点有关有一些疑问。 到目前为止的理解: 当我们需要定期保存内存中当前数据集的快照时,我们应该使用 rdb 持久化。 我可以理解,如果服
过去 10 个月我一直在 Windows 服务器上使用 Redis,没有任何问题,但今天早上我检查了我的网站,发现它完全是空的!!! 经过几分钟的调查,我意识到 Redis 数据库是空的??? 幸运的
上下文 我正在使用 Redis。数据库 < 100 MB。 但是,我想每天备份一次。 我也在 Ubuntu Server 12.04 上运行 当输入时: redis-cli save 我不知道 dum
我是一名优秀的程序员,十分优秀!