Есть несколько байтовых переходов между Python и Java, File и Redis:
- File: Python write (), Java read ().(ОК)
- Файл: Java write (), Python read ().(ОК)
- Redis: Python set (), Java get ().(ОШИБКА)
- Redis: Java set (), Ptyhon get ().(ОК)
Это потому, что набор Python Redis () представляет собой разновидность байтовой кодировки?Я не знаю .. Помогите мне, пожалуйста.
Часть Python
redis_conn = redis.Redis(
host=RedisHost,
port=RedisPort,
password=RedisPass,
db=0
)
key = 'key'
value = open('bytes_file', 'rb').read()
redis_conn.set(key, value)
Часть Java
@Autowired
private RedisTemplate<String, byte[]> redis;
public void readRedis() {
String key = "key";
redis.boundValueOps(key).get(); // exception
}
Исключение Java
org.springframework.data.redis.serializer.SerializationException: Cannot deserialize;
nested exception is org.springframework.core.serializer.support.SerializationFailedException: Failed to deserialize payload. Is the byte array a result of corresponding serialization for DefaultDeserializer?;
nested exception is java.io.StreamCorruptedException: invalid stream header: 789CED9D