mirror of
https://github.com/dkam/suo.git
synced 2025-01-29 07:42:43 +00:00
use msgpack for efficiency
This commit is contained in:
@@ -82,14 +82,15 @@ module Suo
|
||||
private
|
||||
|
||||
def serialize_locks(locks)
|
||||
locks.map { |time, token| [time.to_f, token].join(":") }.join(",")
|
||||
MessagePack.pack(locks.map { |time, token| [time.to_f, token] })
|
||||
end
|
||||
|
||||
def deserialize_locks(str)
|
||||
str.split(",").map do |s|
|
||||
time, token = s.split(":", 2)
|
||||
[Time.at(time.to_f), token]
|
||||
def deserialize_locks(val)
|
||||
MessagePack.unpack(val).map do |time, token|
|
||||
[Time.at(time), token]
|
||||
end
|
||||
rescue EOFError => _
|
||||
[]
|
||||
end
|
||||
|
||||
def clear_expired_locks(locks, options)
|
||||
|
||||
@@ -6,6 +6,8 @@ require "dalli/cas/client"
|
||||
|
||||
require "redis"
|
||||
|
||||
require "msgpack"
|
||||
|
||||
require "suo/client/errors"
|
||||
require "suo/client/base"
|
||||
require "suo/client/memcached"
|
||||
|
||||
Reference in New Issue
Block a user