首页 > 解决方案 > Pattern.compile() from cached string vs Caching the compiled pattern

问题描述

我有一组模式,我匹配每个请求以确定要做什么。现在模式的数量约为 60,但很快就会增长到 1000 多个。

我从数据库中获取模式,并使用 infinispan 来缓存我的模式。

Pattern.compile()真的很快,我不确定是否应该缓存编译模式或字符串。Pattern似乎是SerializablePattern缓存对象有什么问题吗?

编辑

我正在使用远程infinispan。它是一个分布式缓存。

标签: javaregexcachinginfinispan

解决方案


从 Javadoc

此类的实例是不可变的,并且可以安全地被多个并发线程使用。

因此,无论如何编译一次并重用它们。

Pattern.compile() 真的很快

它相当快,但不不必要地运行它会更快。


推荐阅读