memory allocation – Difference between Caching and Slab Allocator

I’ve seen the term caching allocator and slab allocator used in discussions about allocation strategies, and would like to understand the difference between them.

I can see some resources on slab allocators, but nothing on caching allocators. What is a caching allocator and how is it different from a slab allocator?

Also, if you can point me to some resources on allocators in general that would be useful.