Redis returns an OOM error, behaving like
noevictionRedis returns an OOM (out of memory) error, just like noeviction. The volatile-* policies only look at keys that have an expiry (a TTL). Here no key has a TTL, so Redis has no key it is allowed to evict. Writes that need more memory fail. Reads and deletes still work.
"Redis evicts the least recently used key anyway" is wrong: volatile-lru never evicts keys without a TTL, and it does not fall back to allkeys-random or any other policy.
Read more