Redis如何删除大key

时间:2024-03-23 11:35:02

参考阿里云Redis规范

查找大key:

redis-cli --bigkeys

 

1、String类型:

Redis 4.0及以后版本提供了UNLINK命令,该命令与DEL命令类似,但它会在后台异步删除key,不会阻塞当前客户端,也不会阻塞Redis服务器的主线程,因此可以更安全地删除大key。

UNLINK mybigstring

Redis 的 UNLINK 命令可以删除多种类型的数据,不仅限于 String 类型。无论是 String、Hash、List、Set、Sorted Set 或其他任何类型的数据,只要它们是存储在 Redis 中的键(key),都可以使用 UNLINK 命令来异步删除。其语法是相同的:

UNLINK key [key ...]

这意味着你可以用 UNLINK 命令删除任何类型的单个键或者一批键,就如同使用 DEL 命令一样,只不过 UNLINK 执行删除操作的方式是非阻塞异步的。因此,无论数据类型如何,只要你想异步删除一个或多个 Redis 键,都可以使用 UNLINK

 2、

对于其他集合类型(如Hash、List、Set、ZSet),可以利用SCAN命令配合相应类型的批量操作命令分批删除成员。