diff --git a/docs/src/docs/asciidoc/index.adoc b/docs/src/docs/asciidoc/index.adoc index d32d6ae2..c1911f29 100644 --- a/docs/src/docs/asciidoc/index.adoc +++ b/docs/src/docs/asciidoc/index.adoc @@ -666,12 +666,12 @@ EXPIRE spring:session:sessions:expires:33fdd1b6-b496-4b33-9f7d-df96679d32fe 1800 When a session expires key is deleted or expires, the keyspace notification triggers a lookup of the actual session and a SessionDestroyedEvent is fired. -One problem with relying on Redis expiration exclusively is that Redis makes no guarantee of when the expired event will be fired if they key has not been accessed. +One problem with relying on Redis expiration exclusively is that Redis makes no guarantee of when the expired event will be fired if the key has not been accessed. Specifically the background task that Redis uses to clean up expired keys is a low priority task and may not trigger the key expiration. For additional details see http://redis.io/topics/notifications[Timing of expired events] section in the Redis documentation. To circumvent the fact that expired events are not guaranteed to happen we can ensure that each key is accessed when it is expected to expire. -This means that if the TTL is expired on the key, Redis will remove the key and fire the expired event when we try to access they key. +This means that if the TTL is expired on the key, Redis will remove the key and fire the expired event when we try to access the key. For this reason, each session expiration is also tracked to the nearest minute. This allows a background task to access the potentially expired sessions to ensure that Redis expired events are fired in a more deterministic fashion. @@ -683,7 +683,7 @@ EXPIRE spring:session:expirations1439245080000 2100 ---- The background task will then use these mappings to explicitly request each key. -By accessing they key, rather than deleting it, we ensure that Redis deletes the key for us only if the TTL is expired. +By accessing the key, rather than deleting it, we ensure that Redis deletes the key for us only if the TTL is expired. [NOTE] ====