message pattern and cache