class SdlStorageOfRedis implements SdlStorage {
    RedisClient storage;

    public SdlStorageOfRedis(RedisClient redisClient) {
        this.storage = redisClient;
    }

    /**
     * 更新单点登录标识
     */
    @Override
    public String updateUserSdlKey(Serializable userId) {
        String storageKey = SdlStorage.SESSION_SDL_KEY + ":" + userId;
        String userSdlKey = Utils.guid();

        //设置用户的单点登录标识（当前会话 与 用户的'单点登录标识'，说明当前会话不是最新的登录）
        storage.open(ru -> {
            ru.key(storageKey).persist().set(userSdlKey);
        });

        return userSdlKey;
    }

    /**
     * 移除单点登录标识
     * */
    @Override
    public void removeUserSdlKey(Serializable userId) {
        String storageKey = SdlStorage.SESSION_SDL_KEY + ":" + userId;

        storage.open(ru -> {
            ru.key(storageKey).delete();
        });
    }

    /**
     * 获取单点登录标识
     */
    @Override
    public String getUserSdlKey(Serializable userId) {<FILL_FUNCTION_BODY>}
}

        String storageKey = SdlStorage.SESSION_SDL_KEY + ":" + userId;

        return storage.openAndGet(ru -> ru.key(storageKey).get());
    
<no_super_class>