Debuginfo

思考とアウトプット

Redis.pmのシリアライズにはJSON::XSを使う

自分で書いた去年のRedisエントリが参考になっています(笑。ググって出てきたという。。

Perl でRedisを操作してみた ~ シリアライズは自前で? ~で書いたようにRedisモジュールのシリアライズは自分で行うのですが、 何で直列化しようと迷ったところ、JSON::XSが鬼早そうなので、使うこと決定!

参考: データの直列化(Data::Dumper vs JSON::XS vs Storable)

    use JSON::XS;

    # get from cache 
    my $cache_key = "user_id:${user_id}:journeys"; 
    my $journeys = $self->cache->get($cache_key);
    return decode_json($journeys) if (defined $journeys);

    ... some logic

    # store to cache
    $self->cache->set($cache_key, encode_json($journeys) );
    $self->cache->expire($cache_key, 86400); # a day

キーの命名規則も思い出した^^; http://shoheik.hatenablog.com/entry/2013/09/28/141053