Авторские права принадлежат автору Для любой формы перепечатки, пожалуйста, свяжитесь с автором для получения разрешения и укажите источник.
Что если я выполню lua-скрипт в RedisTemplate?
Проверьте следующий код метода, это введение скрипта содержимого lua вRedisScriptподклассDefaultRedisScriptВ классе это класс поддержки сценариев, поддерживаемый Redis, для получения дополнительной информации см. =>ссылка на скрипт Redis
Здесь вы можете просмотреть процесс выполнения исходного кода, просмотрев метод execute:
сначала введитеRedisTemplate.javaсерединаexecute()методЧерез перегрузку метода, чтобы найти конкретный метод класса выполнения, в основном есть следующие 4 шага:
execute()метод с тремя параметрами
execute()метод с пятью параметрами
execute()Тело метода с пятью параметрами
Наконецeval()метод для выполнения команды скрипта redisДалее, чтобы войтиeval()Соответствующий класс реализации методаDefaultScriptExecuteсередина:
Сначала передайте значение sha напрямую.Если предварительно загруженный скрипт lua не может быть найден в Redis и сообщается об ошибке, поймайте ошибку, сериализуйте весь скрипт и передайте его в Redis для выполнения:
Смотрим на код выполнения следующей сериализации скриптаscriptBytes(), и соответствующий ему класс выполненияStringRedisSerializerсвоего рода
ВходитьStringRedisSerializerможно увидеть, что операция сериализации на самом деле является операцией сериализации строк.
На данный момент анализ исходного кода RedisTemplate RedisTemplate в SpringBoot завершен~