Use a transaction manager to make it multi-threaded without having to worry about threads. Request listeners are single threaded so don't do heavy lifting in there, use the listener to hand over the transaction to the transaction manager.
See the jpos programmers guide on some precautions to bear in mind while using transaction participants in your transaction managers.
Spaces are thread safe. If you implement one for redis then you need to be responsible to make it thread safe. Depending on the kind of space you use its either a file based db backing it or it's an in-memory model. There are no size restrictions if you have good expiry times for entries for the space so you don't get an out of memory.
Do see the jpos programmers manual on space usage.