【问题标题】:Mvel's compiled expression how to store in databaseMvel的编译表达式如何存储在数据库中
【发布时间】:2013-07-19 09:36:22
【问题描述】:

我必须将 MVel 中的编译表达式保存在数据库中。 这样我就可以直接使用它来评估表达式。 我该怎么做。

【问题讨论】:

    标签: java database serializable mvel


    【解决方案1】:

    所有编译的表达式都是可序列化的,因此可以保存为 blob。

    【讨论】:

    • 是的,我可以将编译后的表达式保存为 blob 并检索它,可以使用它。谢谢。
    【解决方案2】:

    以外部源形式存储它不是更有意义吗?如果您已经必须进行慢得多的数据库访问,那么解析和构造的开销不大。

    存储源代码是可读的,而且可能更紧凑——二进制序列化格式可能紧凑也可能不紧凑。例如,默认的 JDK 序列化非常冗长,因为它包含大量 Java 类元数据。

    那么您确定存储二进制表示确实有好处吗?

    【讨论】:

    • 存储已编译的表达式使其在将 Mvel 与表达式一起使用之前减少了一步。由于一次又一次地使用相同的表达式,因此在使用编译表达式时会变得更快。
    • 你真的测量过效果吗?这听起来像是一个未成熟优化的案例——我并不是说编译不需要时间,但这不是问题;相反,这足够重要吗?大小也是如此:确保验证您的假设;否则你只是在猜测。二进制表示更脆弱;更有可能打破新的 MVEL 版本等等。
    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 1970-01-01
    • 1970-01-01
    • 2010-09-16
    • 2014-01-06
    • 2014-08-03
    • 2023-04-02
    • 1970-01-01
    相关资源
    最近更新 更多