---
name: "Memcached::libmemcached::memcached_auto"
section: "3pm"
platform: "linux"
package: "libmemcached-libmemcached-perl"
version: "1.001801+dfsg-5+b2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Memcached::libmemcached::memcached_auto"
---

# Memcached::libmemcached::memcached\_auto(3pm)

Manipulate counters

## NAME

memcached\_increment, memcached\_decrement, memcached\_increment\_with\_initial, memcached\_decrement\_with\_initial - Manipulate counters

## LIBRARY

C Client Library for memcached (libmemcached, -lmemcached)

## SYNOPSIS

```
  #include <memcached.h>
  memcached_return_t
    memcached_increment (memcached_st *ptr,
                         const char *key, size_t key_length,
                         unsigned int offset,
                         uint64_t *value);
  memcached_return_t
    memcached_decrement (memcached_st *ptr,
                         const char *key, size_t key_length,
                         unsigned int offset,
                         uint64_t *value);
  memcached_return_t
    memcached_increment_with_initial (memcached_st *ptr,
                                      const char *key,
                                      size_t key_length,
                                      uint64_t offset,
                                      uint64_t initial,
                                      time_t expiration,
                                      uint64_t *value);
  memcached_return_t
    memcached_decrement_with_initial (memcached_st *ptr,
                                      const char *key,
                                      size_t key_length,
                                      uint64_t offset,
                                      uint64_t initial,
                                      time_t expiration,
                                      uint64_t *value);
  memcached_return_t
    memcached_increment_by_key (memcached_st *ptr,
                                const char *master_key, size_t master_key_length,
                                const char *key, size_t key_length,
                                unsigned int offset,
                                uint64_t *value);
  memcached_return_t
    memcached_decrement_by_key (memcached_st *ptr,
                                const char *master_key, size_t master_key_length,
                                const char *key, size_t key_length,
                                unsigned int offset,
                                uint64_t *value);
  memcached_return_t
    memcached_increment_with_initial_by_key (memcached_st *ptr,
                                             const char *master_key,
                                             size_t master_key_length,
                                             const char *key,
                                             size_t key_length,
                                             uint64_t offset,
                                             uint64_t initial,
                                             time_t expiration,
                                             uint64_t *value);
  memcached_return_t
    memcached_decrement_with_initial_by_key (memcached_st *ptr,
                                             const char *master_key,
                                             size_t master_key_length,
                                             const char *key,
                                             size_t key_length,
                                             uint64_t offset,
                                             uint64_t initial,
                                             time_t expiration,
                                             uint64_t *value);
```

## DESCRIPTION

[**memcached**(1)](/memcached/1.md) servers have the ability to increment and decrement keys (overflow and underflow are not detected). This gives you the ability to use memcached to generate shared sequences of values.

**memcached\_increment()** takes a key and keylength and increments the value by the offset passed to it. The value is then returned via the unsigned int value pointer you pass to it.

**memcached\_decrement()** takes a key and keylength and decrements the value by the offset passed to it. The value is then returned via the unsigned int value pointer you pass to it.

**memcached\_increment\_with\_initial()** takes a key and keylength and increments the value by the offset passed to it. If the object specified by key does not exist, one of two things may happen: If the expiration value is MEMCACHED\_EXPIRATION\_NOT\_ADD, the operation will fail. For all other expiration values, the operation will succeed by seeding the value for that key with a initial value to expire with the provided expiration time. The flags will be set to zero.The value is then returned via the unsigned int value pointer you pass to it.

**memcached\_decrement\_with\_initial()** takes a key and keylength and decrements the value by the offset passed to it. If the object specified by key does not exist, one of two things may happen: If the expiration value is MEMCACHED\_EXPIRATION\_NOT\_ADD, the operation will fail. For all other expiration values, the operation will succeed by seeding the value for that key with a initial value to expire with the provided expiration time. The flags will be set to zero.The value is then returned via the unsigned int value pointer you pass to it.

**memcached\_increment\_by\_key()**, **memcached\_decrement\_by\_key()**, **memcached\_increment\_with\_initial\_by\_key()**, and **memcached\_decrement\_with\_initial\_by\_key()** are master key equivalents of the above.

## RETURN

A value of type `"memcached_return_t"` is returned. On success that value will be `"MEMCACHED_SUCCESS"`. Use **memcached\_strerror()** to translate this value to a printable string.

## HOME

To find out more information please check: \<https://launchpad.net/libmemcached\>

## AUTHOR

Brian Aker, \<brian@tangent.org\>

## SEE ALSO

[**memcached**(1)](/memcached/1.md) [**libmemcached**(3)](/libmemcached/3.md) [**memcached\_strerror**(3)](/memcached_strerror/3.md)
