using APC cache when available