@Override
    public CasEvent saveInternal(final CasEvent event) {
        event.assignIdIfNecessary();
        val key = getKey(event.getType(), event.getPrincipalId(), String.valueOf(event.getTimestamp()));
        LOGGER.trace("Saving event record based on key [{}]", key);
        val ops = this.template.boundValueOps(key);
        ops.set(event);
        return event;
    }
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