@Override
    public Stream<? extends CasEvent> getEventsForPrincipal(final String id) {
        try (val keys = getKeys("*", id, "*")) {
            return keys
                .map(key -> this.template.boundValueOps(key).get())
                .filter(Objects::nonNull)
                .toList()
                .stream();
        }
    }
This is {@link RedisCasEventRepository} that stores event data into a redis database.

@author Misagh Moayyed
@since 6.4.0
support/cas-server-support-events-redis/src/main/java/org/apereo/cas/support/events/redis/RedisCasEventRepository.java