Узнать когда примерно заразился сайт, потом поиском по дате с этого момента ищете новые и видоизмененные файлы. На какой cms можно было написать сразу ваш сайт. Есть еще утилиты для поиска и устранения вредоносного кода (ai-bolit например), ими можно воспользоваться.
Если мы про высокие нагрузги: Мемкеш теряет данные при перезапуске. Тут либо хранить в мемкеше и приперезапуске системы\мемкеша заполнять их снова, либо хранить в redis (Я бы сделал так).
А вообще - где угодно можно, можно хоть в той же теблице юзера в MySQL - главное чтоб производительности хватало.
Зачем вы насилуете sprintf? Почитайте документацию этой функции.
У вас полная чушь в проверке валидности кеша:
если (файл_с_кешем_существует И кеш_не_протух)
получить_данные_с_сайта
записать_данные_в_кеш
Обратите внимание, что чтения из кеша у вас нигде нет (в начале только какой-то мусор с ним связанный).
Опишите свою задачу простыми словами по шагам, а потом реализуйте последовательно каждый шаг. Сейчас вы не понимаете, что происходит в коде, поэтому он у вас может заработать только случайно.
Зачем вообще сессию в БД хранить?
Авторизовался юзер - старт сессии. Браузер закрыл / открыл / время истекло - ещё раз авторизовался.
Всё равно многие пароли в браузерах сохраняют.
Посмотреть настройки Mysql сервера, оцпии *size=, например myisam_sort_buffer_size
Mysql резервирует место в памяти в процессе использования, и если место было выделено - назад эта память не возвращается (чтобы не тратить процессорное время на очистку и затем повторное выделение).
Память может так и висеть в простое.
Можете сравнить используемую память сразу после перезапуска mysql, и после выполнения каких-либо операций
Так как в пункте ТЗ не оговорены версии браузеров, то вы можете сьехать на то, что ie8 - это уже не подходит под пункт "Кроссбраузер" в классическом понимании этого вопроса. Поддержка ie8 - это можно обозвать "Поддержка устаревших браузеров = +100% стоимости заказа". Или "Пинание говна динозавра" - если так угодно.
Обосновать - чартами использования браузеров и нецелесообразностью траты денег на мёртвый браузер, который используют полтора пенсионера.