redis中的拒绝策略有哪些,具体介绍下
时间: 2024-03-07 18:51:26 浏览: 8
在Redis中,针对不同的数据结构和场景,提供了多种拒绝策略。
1. volatile-lru:在过期键中,优先删除最近最少使用的键。
2. volatile-ttl:在过期键中,优先删除剩余时间最短的键。
3. volatile-random:在过期键中,随机删除一个键。
4. allkeys-lru:在所有键中,优先删除最近最少使用的键。
5. allkeys-random:在所有键中,随机删除一个键。
6. noeviction:不进行任何删除操作,只是在新写入数据时返回错误。
具体介绍:
- volatile-lru:该策略适用于有过期时间的键,优先删除最近最少使用的键。此策略可以避免一些长时间没有被访问但占用大量内存的键一直存在,从而释放内存空间。
- volatile-ttl:该策略适用于有过期时间的键,优先删除剩余时间最短的键。此策略可以避免一些过期时间短但占用大量内存的键一直存在,从而释放内存空间。
- volatile-random:该策略适用于有过期时间的键,随机删除一个键。此策略可以避免一些长时间没有被访问但占用大量内存的键一直存在,从而释放内存空间。
- allkeys-lru:该策略适用于所有键,优先删除最近最少使用的键。此策略可以避免一些长时间没有被访问但占用大量内存的键一直存在,从而释放内存空间。
- allkeys-random:该策略适用于所有键,随机删除一个键。此策略可以避免一些长时间没有被访问但占用大量内存的键一直存在,从而释放内存空间。
- noeviction:该策略不进行任何删除操作,只是在新写入数据时返回错误。此策略可以保证所有数据都可以被读取,但也会导致内存占用过高,从而导致Redis被系统强制杀死。
可以通过修改Redis的配置文件中的`maxmemory-policy`参数来设置拒绝策略。例如,将该参数设置为`allkeys-lru`表示采用全局LRU策略。