diff --git a/lib/suo/client/base.rb b/lib/suo/client/base.rb index 7f37355..9f1a52b 100644 --- a/lib/suo/client/base.rb +++ b/lib/suo/client/base.rb @@ -55,10 +55,7 @@ module Suo retry_with_timeout do val, cas = get - if val.nil? - initial_set - next - end + cas = initial_set if val.nil? cleared_locks = deserialize_and_clear_locks(val) @@ -101,10 +98,7 @@ module Suo retry_with_timeout do val, cas = get - if val.nil? - initial_set - next - end + cas = initial_set if val.nil? cleared_locks = deserialize_and_clear_locks(val) diff --git a/lib/suo/client/memcached.rb b/lib/suo/client/memcached.rb index 83b37b6..c54ad79 100644 --- a/lib/suo/client/memcached.rb +++ b/lib/suo/client/memcached.rb @@ -22,6 +22,8 @@ module Suo def initial_set(val = BLANK_STR) @client.set(@key, val) + _val, cas = @client.get_cas(@key) + cas end end end diff --git a/lib/suo/client/redis.rb b/lib/suo/client/redis.rb index b13119e..657b482 100644 --- a/lib/suo/client/redis.rb +++ b/lib/suo/client/redis.rb @@ -35,7 +35,8 @@ module Suo end def initial_set(val = BLANK_STR) - @client.set(@key, val) + set(val, nil) + nil end end end