SpyMemcached的Transcoder

  1. Transcode的作用是把一个Object转换成CachedData(flag, byte[]) 二元组,以方便使用memcache协议将数据存储到服务器端。

  2. SpyMemcached提供了默认的Transcode实现, SerializingTranscoder.
    对基本类型,boolean, byte, int, long, float, double, date, byte[]进行了二进制提取处理,
    2.1 boolean编码为byte的1,0.
    2.2 数字类型会转换成对应的字节长度,并对开头的0进行剔除,以尽量节省空间。
    2.3 Date类型使用Date.getTime()然后按照long转换成byte[]

  3. 对于String会提取UTF8字节数组处理。对其他的Object,则使用java提供的默认序列化机制来与byte[]互转。

  4. 最后对于获得的byte[], 如果超过16K,会进行gzip压缩处理。16K这个阈值可以修改。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容