如何创建单个 java 域 class 以用于 Redis 缓存(NoSQL)和 Sybase ASE(关系数据库)?

How to create single java domain class which will serve for both Redis cache(NoSQL) and Sybase ASE (Relational database)?

我们将使用 Redis 缓存来提高性能。我们要求我们要创建单个 java 域 class(例如 Employee.java),我们可以将其用于 Redis 和 Sybase ASE,但问题是 Redis 是 NoSql 数据库而 Sybase ASE 是关系数据库。 如果我们将 Employee 对象作为键值对存储在 Redis 中,然后如果我们想通过从 Redis 缓存中提取它来将其存储在数据库 (Sybase ASE) 中,则会产生问题。 因此,简而言之,我们需要一个 java 域 class。我们怎样才能做到这一点?

只需将您的 Employee 序列化为 C-String 值以放入 Redis,例如感谢 Kryo 库。然后你只需要从 Redis 反序列化它来重建你的 Java 实例并将它与 Sybase 一起使用(另一种方法也适用)。

任何java序列化为C-String(bytearray)或经典字符串的过程都可以使用,所以你可以看看Jackson(JSON serialization from and to Java), JSON-schema (生成 JSON 可序列化 java 类), MessagePack (JSON 压缩序列化), FlatBuffers...甚至香草传统 Java可以使用序列化