Python和Java、文件和Redis之间有一些字节转换:
-
文件:Python Wrad(),Java Read()。(好)
-
文件:Java写(),Python Read()。(好)
-
RyIs:Python Stand(),Java GET()。(错误)
-
RIDIS:Java Stand(),pTyHon GET()。(好)
是因为python的redis set()是一种不同类型的字节字符集吗?我不知道…请帮帮我。
蟒蛇部分
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