1

我想在我们的一个项目中使用流口水——在线买卖。

事件就像买一本书,买一支笔,买一个kindle。这些事件存储在数据库中。

现在,根据之前发生的事件,我想决定后果。

就像说如果一个人有以下序列,

1. Buy a book at a price.
2. Sell the same book at a higher price.

然后

Do something based on that.

如果有人这样做了,

1. Buy a kindle.
2. Purchase a book in Science Section of books.

然后

show him the relevant content in the UI.

我将所有列出的事物作为数据库中的事件。现在我已经为要完成的操作编写了一个界面,并且我还完成了在事件发生时传递客户的界面。

现在,什么会给我最好的性能来处理事件并根据事件的顺序做出决定。我不能确定将所有事件都存储在内存中,因为我有很多。

4

1 回答 1

0

有不同的方面需要考虑:

  • 为了向客户推荐其他商品,有推荐引擎。如果您的大多数/所有用例都是建议,您可能想要使用其中之一。

  • 不一定需要存储“内存中的所有事件”。事实上,Drools 删除了不再与规则库相关的事件。文件说_

“事件可能会在工作记忆中的一段时间后自动过期。通常,当基于知识库中的现有规则,事件无法再匹配和激活任何规则时,就会发生这种情况。虽然,可以明确定义何时发生事件应该过期。”

  • 为了允许及早删除事件,我会使用 Drools 生成聚合数据,如“喜欢科学主题”、“拥有电子书阅读器”等。这些可以从事件中推断出来,但消耗的内存更少。
于 2012-07-26T07:13:19.470 回答