     # the storage to retrieve a session with the specified session ID.
     # The session may or may not exist. Please refer to the `Connect`.
     get: (sid, callback) ->
+        @emit "session-get", sid, callback
         assert _.isString qualified = @namespaced sid
         message = "Redis session engine error at get"
         assert _.isObject(@redis), "no Redis client yet"

    # The session may or may not exist. Please refer to the `Connect`.
    set: (sid, session, callback) ->
        assert encoded = JSON.stringify session
        assert _.isString qualified = @namespaced sid
        expire = session?.cookie?.maxAge / 1000 | 0
        expire = 86400 unless expire and expire > 0

    # the storage to destroy a session with the specified session ID.
    # The session may or may not exist. Please refer to the `Connect`.
    destory: (sid, callback) ->
        @emit "session-destroy", sid, callback
        assert _.isString qualified = @namespaced sid
        message = "Redis session engine error at destroy"
        assert _.isObject(@redis), "no Redis client yet"
