tair是淘宝提供的开源key-value服务,单机可承担万级QPS压力。
调用方法分为三类:
单个存取:put,get方法
批量存取:batchPut,batchGet方法
父子key存取:prefixMultiPut, prefixMultiGet方法。
就性能来看,父子key存取反而比批量存取性能要好些。
工作中发现,如果value值较大(10k以上),存取速度会受到极大影响。
优化思路:
1. JSON序列化列表会重复出现列表内Model的属性名,可以通过supportBeanToArray取和ArrayToBean存,将属性名省略。但此后如果更改model内容,将需要更改key(tair内部设计决定)。
2. tair中的存储value是byte数组,可以通过巧妙设计,使用自行设计的int到byte转换,加上自行设计的数组排列方式,来取代Model+序列化方案,获取更小的value和更好的性能。