@Override
    public Collection<RegisteredService> load() {
        val clientInfo = ClientInfoHolder.getClientInfo();

        try (val keys = getRegisteredServiceKeys()) {
            val list = keys
                .map(redisKey -> this.template.boundValueOps(redisKey).get())
                .filter(Objects::nonNull)
                .map(this::invokeServiceRegistryListenerPostLoad)
                .filter(Objects::nonNull)
                .collect(Collectors.toList());
            LOGGER.trace("Loaded registered services [{}]", list);
            list.forEach(service -> publishEvent(new CasRegisteredServiceLoadedEvent(this, service, clientInfo)));
            return list;
        }
    }
Implementation of the service registry interface which stores the services in a redis instance.

@author Misagh Moayyed
@since 5.2.0
support/cas-server-support-redis-service-registry/src/main/java/org/apereo/cas/adaptors/redis/services/RedisServiceRegistry.java