Spring data redis几种序列化器的比较

本文介绍了Spring Data Redis中三种不同的序列化器:JacksonJsonRedisSerializer、JdkSerializationRedisSerializer和OxmSerializer,并通过测试比较了它们的性能。测试结果显示了不同序列化器在存储和获取User对象时的时间消耗。
摘要由CSDN通过智能技术生成
转自:http://stamen.iteye.com/blog/1907984
 
最近在整一个spring data redis,网上有一本《Spring Data》的电子书(我一个朋友正在翻译,应该今年会有中文版出来,人邮的),下载来看了一下,其中第8章讲到了Spring data对redis的支持。 
    redis虽然提供了对list set hash等数据类型的支持,但是没有提供对POJO对象的支持,底层都是把对象序列化后再以字符串的方式存储的。因此,Spring data提供了若干个Serializer,主要包括: 
  • JacksonJsonRedisSerializer
  • JdkSerializationRedisSerializer
  • OxmSerializer

   参见: http://static.springsource.org/spring-data/data-keyvalue/docs/1.0.x/api/ 

   这里,我第一是想测试一下三者的使用,第二是想看看它们的使用效果。 

准备工作 

下载源码   
我直接在《Spring Data》书的源码基础上改,从这下载书的源码: https://github.com/SpringSource/spring-data-book 

打开redis子项目,由于是以Maven组织的,所以不用关心包的问题。 

添加一个测试的Entity 

由于我们希望测试使用Redis保存POJO对象,因此我们在com.oreilly.springdata.redis包下创建一个User对象,如下所示: 
Java代码   收藏代码
  1. package com.oreilly.springdata.redis;  
  2.   
  3. import javax.xml.bind.annotation.XmlAccessType;  
  4. import javax.xml.bind.annotation.XmlAccessorType;  
  5. import javax.xml.bind.annotation.XmlAttribute;  
  6. import javax.xml.bind.annotation.XmlRootElement;  
  7. import java.io.Serializable;  
  8.   
  9. /** 
  10.  * @author : stamen 
  11.  * @date: 13-7-16 
  12.  */  
  13. @XmlAccessorType(XmlAccessType.FIELD)  
  14. @XmlRootElement(name = "user")  
  15. public class User implements Serializable {  
  16.   
  17.     @XmlAttribute  
  18.     private String userName;  
  19.   
  20.     @XmlAttribute  
  21.     private int age;  
  22.   
  23.     public String getUserName() {  
  24.         return userName;  
  25.     }  
  26.   
  27.     public void setUserName(String userName) {  
  28.         this.userName = userName;  
  29.     }  
  30.   
  31.     public int getAge() {  
  32.         return age;  
  33.     }  
  34.   
  35.     public void setAge(int age) {  
  36.         this.age = age;  
  37.     }  
  38. }  
  
   由于后面,我们需要使用OXM及Jackson将进行对象序列,为了控制对象的序列化,因此打上了JSR 175注解。 

更改ApplicationConfig 

   ApplicationConfig是Spring容器的配置类,要根据你的环境进行更改,我的更改为: 
Java代码   收藏代码
  1. package com.oreilly.springdata.redis;  
  2.   
  3. import org.springframework.context.annotation.Bean;  
  4. import org.springframework.context.annotation.Configuration;  
  5. import org.springframework.data.redis.connection.RedisConnectionFactory;  
  6. i
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值