Сокет-соединение для оптимизации локального кеша Redis

Redis

задний план

В нашей все более сложной системе всегда будет много данных с небольшими требованиями к своевременности или низкой частоте обновления.Чтобы сократить время сети и вычислений, мы кэшируем результаты вычислений для повышения производительности системы.

решение

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