redis-对象序列化方案比较.md

与其他NoSql数据库(例如Memecache)不同,Jedis并没有提供默认的序列化工具,这样开发者需要自己引入序列化工具。将对象序列化到Redis中可以选取多种序列化方案,例如Xml,Json,Protobuf,Thrift等


### 选取FastJson和protostuff进行效率比对

#### 测试方法

1. 每次生成1000个POJO对象,每个POJO对象中都包含有1个List,List中也包含了1000个POJO对象。

2. 将生成的1000个POJO对象序列化并存储到Redis中

3. 从耗时和Redis内存占用两个维度观察不同序列化方案的表现

#### 测试结果

测试 | FastJson|Protostuff-runtime

-------|----------|-----------

耗时(毫秒) | 4566 | 2098

Redis内存占用(MB) | 366.43 | 273.85


Protostuff在耗时上是FastJson的50%左右。

Protostuff在内存占用上是FastJson的75%左右。

可以看出Protostuff在耗时和内存占用上都优于FastJson,但是使用Protostuff序列化后的数据不具有可读性,在选择序列化方案时还是需要根据需求来选择。

下面给出测试步骤与代码

#### 测试步骤与代码

##### 测试代码

测试使用的POM

你可能感兴趣的:(redis-对象序列化方案比较.md)