1. A computer program product for caching results of database transactions, the computer program product comprising: a computer readable storage medium having computer usable program code embodied therewith, the computer usable program code comprising: computer usable code configured to implement database transactions accessing a database from a single server; and computer useable code configured to implement a cache having a two stage commit and two levels, the two levels effectively (i) recording transition from performing a subject database transaction to committing said transaction, and (ii) stalling other transactions awaiting conclusion of the subject database transaction, and the two stage commit being free of the cache locking the database and the two stage commit including the subject database transaction setting an indication to indicate that the transaction has started to commit, then the subject database transaction goes on to commit and then said transaction setting the indication to indicate that the transaction is done, the cache using together (a) the indication form the subject database transaction and (b) the recorded transition, to cache results of the subject database transaction, such that transaction results are cached twice, once based on the indication from the subject database transaction and once based on the database determination of the transaction.