support removal listener for cache, more test cases