Caching in components working with data servers

Processing components that work with data servers allow caching when connected to a server. Caching reduces the time of message processing by a rule list. This is ensured by the fact that connection to a data server is established only once and maintained as long as it's necessary.

AEP uses caching in the following components:

Database Access

Simple Database Access

Database Iterator

Excel Access

Excel Iterator

Caching can be used:

for one message processing by a rule list

for the whole session, i.e. as long as all messages received in one account check are being processed

Caching

Enable Caching

Use caching

Enable Session Cache

Use caching for whole session

Remarks

Besides making the processing faster, caching allows using special features of some databases. For example, when adding a line into MySQL table, identifier of the entry added can be parsed using the LAST_INSERT_ID function.

INSERT INTO CLIENT (id,email)

 VALUES(NULL,'<%Sender%>); # generate ID by inserting NULL

INSERT INTO ORDER (client,orderno)

 VALUES(LAST_INSERT_ID(),'<%OrderNo%>'); # use ID in second table

Database Access component allows executing only one SQL expression. So, two components are needed to perform the instructions. Without caching, LAST_INSERT_ID() will always return 0 in the second instruction. This happens because connection is terminated once the component with the first instruction is executed, and the value LAST_INSERT_ID is lost. Caching offers a solution for this problem.