Redis INFO output is parsed as (Java) properties, although it is not the same format
The issue is the same as here https://github.com/spring-projects/spring-data-redis/issues/1281 That issue was closed because:
Redis on Windows is no longer supported. As this variant has no future I'm inclined to not include any Windows-specific changes to Spring Data Redis
There are Redis variants for Windows that are newer than version 3. https://github.com/ponfee/embedded-redis/tree/master currently uses 6.2.7. https://github.com/redis-windows/redis-windows has version 7.
Although we're not using the Windows versions in production, they are helpful for developers using a Windows machine.
Technically speaking, the INFO output should not be parsed as Properties as it is not encoded as such.
My current workaround is to set the TEMP/TMP environment variables so that they don't point to c:\users\..., as the \u.... raises the exception.
I've tried to start Redis as c:/.../redis-server.exe but the changed separator only works for the configuration file, not exe path in the INFO output.
Would you reconsider the previous decision?
Using properties parsing seemed to be the simplemost approach. We'd be happy to review a pull request.
@mp911de Hi, I’d like to contribute to this issue!
I understand that using Properties for parsing Redis INFO output can cause unexpected behavior, especially with Windows file paths. I’d be happy to work on a fix by replacing the current parsing logic with a simpler key-value parser that avoids the escape character problems.
If you’re open to this, I’ll prepare a PR with the fix. Let me know if there are any specific considerations or additional edge cases you'd like me to cover. Feel free to assign me to this issue if you’d like me to proceed.
Thanks!