lineNumber1columnNumber1前言中不允许有内容
2024-11-04 15:22:08 # 技术笔记

bug日志

1
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的配置。。。。

正确配置:

1
2
3
4
5
6
7
8
9
10
11
12
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)就可以满足多线程环境下的并发访问,当然这个也是可伸缩的设计,一个连接实例不够的情况也可以按需增加连接实例。