Thanks for the feedback. Just some comments on the aop.
TreeCachAop will always be more expensive than TreeCache on the put object. This is because aop needs to map all the object graph into the store while TreeCache just stores a reference. So the bigger the object graph, the more expensive aoo will be.
However, keep in mind that in aop, you don't do putObject frequently. And once it is done, aop will then manage your object relationship transparently for you. And if you have replication, the granularity is field level. This is where the performance advantage of aop can come in because of fine-grained replication.
Hope this help,