@Autowired @Qualifier("redisTemplate") private RedisTemplate<String, String> stringredisTemplate; @Autowired @Qualifier("jdkredisTemplate") private RedisTemplate<Object, Object> jdkredisTemplate; @Autowired @Qualifier("jacksonredisTemplate") private RedisTemplate<Object, Object> jacksonredisTemplate; public void flushdb(){ stringredisTemplate.execute(new RedisCallback<Object>() { public String doInRedis(RedisConnection connection) throws DataAccessException { connection.flushDb(); return "ok"; } }); } @Test public void test(){ flushdb(); StopWatch sw = new StopWatch("StringRedisSerializer"); sw.start("stringredisTemplate"); for(int i = 0;i<100;i++){ stringredisTemplate.opsForValue().set("hello", "nihao"); stringredisTemplate.opsForValue().get("hello"); } sw.stop(); sw.start("jdkredisTemplate"); for(int i = 0;i<100;i++){ User u = new User(); jdkredisTemplate.opsForValue().set("hello", u); jdkredisTemplate.opsForValue().get(u); } sw.stop(); sw.start("jacksonredisTemplate"); for(int i = 0;i<100;i++){ User u = new User(); jacksonredisTemplate.opsForValue().set("hello", u); jacksonredisTemplate.opsForValue().get(u); } sw.stop(); System.out.println(sw.prettyPrint()); }