Gigi
Gigi

Reputation: 29421

What are the possible values for maxmemory_policy in Redis?

In the example in the Redis INFO page, there's a maxmemory_policy setting:

maxmemory_policy:noeviction

There doesn't seem to be any documentation on this. What are the possible values, and what is the default?

Upvotes: 1

Views: 2761

Answers (1)

Itamar Haber
Itamar Haber

Reputation: 49932

The different eviction policies are detailed in the redis.conf file:

# MAXMEMORY POLICY: how Redis will select what to remove when maxmemory
# is reached. You can select among five behaviors:
#
# volatile-lru -> remove the key with an expire set using an LRU algorithm
# allkeys-lru -> remove any key according to the LRU algorithm
# volatile-random -> remove a random key with an expire set
# allkeys-random -> remove a random key, any key
# volatile-ttl -> remove the key with the nearest expire time (minor TTL)
# noeviction -> don't expire at all, just return an error on write operations
#
# Note: with any of the above policies, Redis will return an error on write
#       operations, when there are no suitable keys for eviction.
#
#       At the date of writing these commands are: set setnx setex append
#       incr decr rpush lpush rpushx lpushx linsert lset rpoplpush sadd
#       sinter sinterstore sunion sunionstore sdiff sdiffstore zadd zincrby
#       zunionstore zinterstore hset hsetnx hmset hincrby incrby decrby
#       getset mset msetnx exec sort
#
# The default is:
#
# maxmemory-policy noeviction

Upvotes: 7

Related Questions