spring整合redisson,啟動項目報錯:Caused by: java.lang.IllegalArgumentException: RIVER
package com.user.base.utils.redis.redisson; import java.io.IOException; import org.redisson.Redisson; import org.redisson.api.RedissonClient; import org.redisson.config.Config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; /** * 獲取redisson * @author Administrator * */ @Configuration public class RedissonConfig { /* * 在SecondKillServiceImp.java中使用 */ @Bean/*(destroyMethod = "shutdown")*/ RedissonClient redisson(){ // throws IOException Config config = new Config(); //config.useClusterServers().addNodeAddress("127.0.0.1:6379"); config.useSingleServer().setAddress("redis://127.0.0.1:64791"); //config.useClusterServers().addNodeAddress("redis://127.0.0.1:6379","redis://127.0.0.1:6380"); config.setCodec(new org.redisson.client.codec.StringCodec()); RedissonClient redissonClient = null; try{ redissonClient = Redisson.create(config); }catch(Exception e){ e.printStackTrace(); } return redissonClient; } }
解決辦法:加上
config.setCodec(new org.redisson.client.codec.StringCodec());
加上這句話以后,異常排除。
//指定編碼,默認編碼為org.redisson.codec.JsonJacksonCodec
//之前使用的spring-data-redis,用的客戶端jedis,編碼為org.springframework.data.redis.serializer.StringRedisSerializer
//改用redisson后為了之間數據能兼容,這里修改編碼為org.redisson.client.codec.StringCodec
參考:https://blog.csdn.net/zilong_zilong/article/details/78252037