bug日志 ```bash Line 1 in XML document from class path resource [application.yml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。 ``` 有可能是yml配置文件编码的问题utf-8 选择没有Bom的 排错发现是redis的配置。。。。 正确配置: ```java redis: database: 0 host: 127.0.0.1 port: 6379 password: 123456 timeout: 1000 jedis: pool: max-active: 8 max-wait: -1 max-idle: 8 min-idle: 0 ``` 是jedis:不是lettuce: 用啥东西就写啥,不要瞎写。。。。之前用lettcue没有引入包。。。 **两者区别:** Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接 Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,应为StatefulRedisConnection是线程安全的,所以一个连接实例(StatefulRedisConnection)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。 Loading... bug日志 ```bash Line 1 in XML document from class path resource [application.yml] is invalid; nested exception is org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; 前言中不允许有内容。 ``` 有可能是yml配置文件编码的问题utf-8 选择没有Bom的 排错发现是redis的配置。。。。 正确配置: ```java redis: database: 0 host: 127.0.0.1 port: 6379 password: 123456 timeout: 1000 jedis: pool: max-active: 8 max-wait: -1 max-idle: 8 min-idle: 0 ``` 是jedis:不是lettuce: 用啥东西就写啥,不要瞎写。。。。之前用lettcue没有引入包。。。 **两者区别:** Jedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接 Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个线程间并发访问,应为StatefulRedisConnection是线程安全的,所以一个连接实例(StatefulRedisConnection)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。 最后修改:2024 年 11 月 04 日 © 允许规范转载 打赏 赞赏作者 支付宝微信 赞 如果觉得我的文章对你有用,请随意赞赏