我們將用三種不一樣的方式來(lái)測(cè)量
第一種jdk
Spring容器中配置RedisTemplate。key系列化器StringRedisSerializer。value系列化器為JdkSerializationRedisSerializer
public void addJDK() {
User user = new User();
long stare = System.currentTimeMillis();
for (int i =1; i <=50000; i++) {
user.setId(i);
user.setName(StringUtil.getChineseName());
user.setSex(StringUtil.getSex());
user.setPhone(StringUtil.getPhoneNo());
user.setEmail(StringUtil.getEmail(3, 20));
user.setBirthday(StringUtil.getBirthday());
rt.opsForValue().set("key"+i, user);
}
long end = System.currentTimeMillis();
System.out.println("jdk方式共消耗"+(end-stare)+"ms");
System.out.println("共有五萬(wàn)條數(shù)據(jù)");
}
第二種json
Spring容器中配置RedisTemplate。key系列化器StringRedisSerializer。value系列化器為Jackson2JsonRedisSerializer
public void addJson() {
User user = new User();
long stare = System.currentTimeMillis();
for (int i =1; i <=50000; i++) {
user.setId(i);
user.setName(StringUtil.getChineseName());
user.setSex(StringUtil.getSex());
user.setPhone(StringUtil.getPhoneNo());
user.setEmail(StringUtil.getEmail(3, 20));
user.setBirthday(StringUtil.getBirthday());
rt.opsForValue().set("key"+i, user);
}
long end = System.currentTimeMillis();
System.out.println("json方式共消耗"+(end-stare)+"ms");
System.out.println("共有五萬(wàn)條數(shù)據(jù)");
}
第三種hash
Spring容器中配置RedisTemplate。key系列化器StringRedisSerializer。hashKey系列化器StringRedisSerializer,hashValue系列化器StringRedisSerializer
public void addHash() {
User user = new User();
long stare = System.currentTimeMillis();
for (int i =1; i <=50000; i++) {
user.setId(i);
user.setName(StringUtil.getChineseName());
user.setSex(StringUtil.getSex());
user.setPhone(StringUtil.getPhoneNo());
user.setEmail(StringUtil.getEmail(3, 20));
user.setBirthday(StringUtil.getBirthday());
rt.opsForHash().putIfAbsent("Key"+i, "key"+i, user.toString());
}
long end = System.currentTimeMillis();
System.out.println("hash方式共消耗"+(end-stare)+"ms");
System.out.println("共有五萬(wàn)條數(shù)據(jù)");
}
相比之下
jdk方式共消耗20299ms
共有五萬(wàn)條數(shù)據(jù)
------------------------------------------------
json方式共消耗19932ms
共有五萬(wàn)條數(shù)據(jù)
------------------------------------------------------
hash方式共消耗20619ms
共有五萬(wàn)條數(shù)據(jù)
相比之下hash快一點(diǎn)