@Bean
        @ConditionalOnMissingBean(name = RedisModulesOperations.BEAN_NAME)
        @RefreshScope(proxyMode = ScopedProxyMode.DEFAULT)
        public RedisModulesOperations redisModulesOperations(
            final CasConfigurationProperties casProperties,
            @Qualifier(CasSSLContext.BEAN_NAME)
            final CasSSLContext casSslContext) {
            val redis = casProperties.getTicket().getRegistry().getRedis();
            return BeanSupplier.of(RedisModulesOperations.class)
                .when(redis.isEnableRedisSearch())
                .supply(Unchecked.supplier(() -> {
                    val commands = LettuceRedisModulesOperations.newRedisModulesCommands(redis, casSslContext);
                    return new LettuceRedisModulesOperations(commands);
                }))
                .otherwiseProxy()
                .get();
        }
This is {@link CasRedisTicketRegistryAutoConfiguration}.

@author Misagh Moayyed
@since 5.0.0
support/cas-server-support-redis-ticket-registry/src/main/java/org/apereo/cas/config/CasRedisTicketRegistryAutoConfiguration.java