Due to a quirk in memcached, I believe you actually want to store a string
representation in order to use incr/decr.

Try changing the second line to CACHE.set('abc', '123')  and see if that
works.

On Thu, Jan 20, 2011 at 11:47 AM, Josiah Ivey <josiah.i...@gmail.com> wrote:

> Using both the Dalli and Memcached-client gems, I am unable to
> increment a numeric value:
>
> ruby-1.9.2-p0 > CACHE = MemCache.new 'localhost:11211'
>  => <MemCache: 1 servers, ns: nil, ro: false>
> ruby-1.9.2-p0 > CACHE.set('abc', 123)
>  => "STORED\r\n"
> ruby-1.9.2-p0 > CACHE.get('abc')
>  => 123
> ruby-1.9.2-p0 > CACHE.incr('abc')
> MemCache::MemCacheError: cannot increment or decrement non-numeric
> value
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:926:in `raise_on_error_response!'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:831:in `block in cache_incr'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:865:in `call'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:865:in `with_socket_management'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:827:in `cache_incr'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:342:in `block in incr'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:886:in `with_server'
>        from /Users/josiahivey/.rvm/gems/ruby-1.9.2-p0/gems/memcache-
> client-1.8.5/lib/memcache.rb:341:in `incr'
>        from (irb):6
>        from /Users/josiahivey/.rvm/rubies/ruby-1.9.2-p0/bin/irb:17:in
> `<main>'
>
> Any ideas?
>



-- 
awl

Reply via email to