задний план
В нашей все более сложной системе всегда будет много данных с небольшими требованиями к своевременности или низкой частоте обновления.Чтобы сократить время сети и вычислений, мы кэшируем результаты вычислений для повышения производительности системы.
решение
Когда дело доходит до кэширования, мы можем легко подумать оredis,memcacheи другие инструменты кэширования памяти, учитывая, чтоredisПоддержка большей структуры данных, постоянства и других функций, я бы предпочел первое. Это развертывается локально на машине приложенияredisЗатем сервер можно использовать для кэширования вышеупомянутых кэшируемых данных.
Как еще оптимизировать
Как правило, мыtcpсоединение с использованиемredis, который также поддерживается по умолчанию, но даже в этом случае будут генерироваться сетевые запросы (вспомните трехстороннее рукопожатие, четырехстороннюю волну...), что имеет определенную потерю производительности, подумайте оphp-fpmа такжеnginxможно использоватьtcpа такжеunix-socketкстати, чтоredisЭто также возможно? После понимания это возможно! Поэтому мы меняем его наunix-socketСпособ.
Как настроить
Раскомментируйте два оператора в файле redis.conf:
unixsocket /tmp/redis.sock
unixsocketperm 700
Затем запустите redis, используйте redis.new (:path =>"/tmp/redis.sock") при создании соединения redis, вы можете
Сравнение производительности
Операции SET и GET улучшены примерно на 60%.