задний план
В нашей все более сложной системе всегда будет много данных с небольшими требованиями к своевременности или низкой частоте обновления.Чтобы сократить время сети и вычислений, мы кэшируем результаты вычислений для повышения производительности системы.
решение
Когда дело доходит до кэширования, мы можем легко подумать о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%.