cache adapter