@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:redis.xml")
public class RedisTest {
@Autowired
RedisTemplate redisTemplate;
//使用JDK系列化方式保存5萬(wàn)個(gè)user隨機(jī)對(duì)象到Redis吓蘑,并計(jì)算耗時(shí)
@Test
public void redisJDKtest() {
long start=System.currentTimeMillis();
for (int i = 1; i <= 50000; i++) {
User user=new User();
user.setId(i);
user.setName(StringUtils.getRandomCn(3));
user.setGender(UserUtils.getSex());
user.setPhone("13"+StringUtils.getRandomNumber(9));
user.setEmail(UserUtils.getMail());
user.setBirthday(UserUtils.getBirthday());
redisTemplate.opsForValue().set("user"+i, user);
System.out.println(user);
}
long end=System.currentTimeMillis();
System.out.println("使用了jdk的序列化方式");
//計(jì)算時(shí)間
System.out.println("共用了:"+(end-start)+"時(shí)間");
System.out.println("共保存了5w條數(shù)據(jù)");
}
//使用JSON系列化方式保存5萬(wàn)個(gè)user隨機(jī)對(duì)象到Redis型凳,并計(jì)算耗時(shí)
@Test
public void redisJSONtest() {
long start=System.currentTimeMillis();
for (int i = 1; i <= 50000; i++) {
User user=new User();
user.setId(i);
user.setName(StringUtils.getRandomCn(3));
user.setGender(UserUtils.getSex());
user.setPhone("13"+StringUtils.getRandomNumber(9));
user.setEmail(UserUtils.getMail());
user.setBirthday(UserUtils.getBirthday());
redisTemplate.opsForValue().set("user"+i, user);
}
long end=System.currentTimeMillis();
System.out.println("使用了JSON的序列化方式");
//計(jì)算時(shí)間
System.out.println("共用了:"+(end-start)+"時(shí)間");
System.out.println("共保存了5w條數(shù)據(jù)");
}
//使用hash系列化方式保存5萬(wàn)個(gè)user隨機(jī)對(duì)象到Redis,并計(jì)算耗時(shí)
@Test
public void redisHashtest() {
long start=System.currentTimeMillis();
for (int i = 1; i <= 50000; i++) {
User user=new User();
user.setId(i);
user.setName(StringUtils.getRandomCn(3));
user.setGender(UserUtils.getSex());
user.setPhone("13"+StringUtils.getRandomNumber(9));
user.setEmail(UserUtils.getMail());
user.setBirthday(UserUtils.getBirthday());
redisTemplate.opsForHash().put("users"+i, "user"+i, user.toString());
}
long end=System.currentTimeMillis();
System.out.println("使用了hash的序列化方式");
//計(jì)算時(shí)間
System.out.println("共用了:"+(end-start)+"時(shí)間");
System.out.println("共保存了5w條數(shù)據(jù)");
}