Redis中彻底清空Key的方法(redis重置key)

Redis是一款高性能KEY-value存储系统,它充分利用内存,以秒为单位提供高速访问数据,而不必担心数据丢失。在开发中,有时候我们需要对redis中的key进行彻底删除,本文将介绍如何彻底清空redis键。

让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:主机域名虚拟主机、营销软件、网站建设、加查网站维护、网站推广。

### 使用keys命令

KEYS命令用于查找所有符合给定模式的key。语法如下:

KEYS pattern

下面的例子将检索所有的key,而不是特定的key。

KEYS *

此命令将返回所有的正则表达式。然后我们可以使用DEL命令删除它们:

DEL 'key1' 'key2' 'key3'

### 使用Flushall命令

Flushall命令用于清除当前数据库中的所有key,以及清除所有其他数据库中的key。可以带上选项来决定是否把过期的键也一并清除,语法如下:

FLUSHALL [ASYNC] [NO_WRITE_TO_BINLOG]

我们可以使用ASYNC选项来异步清除缓存中的数据:

FLUSHALL ASYNC

### 使用SCAN及DEL结合实现

SCAN命令支持使用游标进行搜索,是KEYS的改进版。例如在实现以上功能时,可以用以下代码:

-- 初始情况下,缓存中有5个key
127.0.0.1:6379> keys *
1) "key1"
2) "key2"
3) "key3"
4) "key4"
5) "key5"
-- 声明变量
127.0.0.1:6379> set cursor 0
OK

-- 开始循环
127.0.0.1:6379> while [ 1 = 1 ]
127.0.0.1:6379> do
127.0.0.1:6379> scan $cursor match key* count 5
1) "0"
2) 1) "key1"
2) "key2"
3) "key3"
4) "key4"
5) "key5"
-- 获取新的游标
127.0.0.1:6379> set cursor $1
OK
-- 删除key
127.0.0.1:6379> del key1 key2 key3 key4 key5
(integer) 5
-- 判断游标到达末尾,结束循环
127.0.0.1:6379> if [ $1 = 0 ]
127.0.0.1:6379> then
127.0.0.1:6379> break
127.0.0.1:6379> else
127.0.0.1:6379> continue
127.0.0.1:6379> fi
127.0.0.1:6379> done
OK

-- 循环结束,缓存中的所有key均被删除
127.0.0.1:6379> keys *
(empty list or set)

上面的代码结构是使用While循环搜索缓存中的所有key,然后用DEL来实现清除key的目的。

以上就是本文介绍的redis中彻底清空key的方法,可以通过KEYS命令,Flushall命令,以及使用SCAN及DEL结合实现来实现目的。 相信以上介绍可以帮助大家在工作中应用。

成都创新互联科技有限公司,是一家专注于互联网、IDC服务、应用软件开发、网站建设推广的公司,为客户提供互联网基础服务!
创新互联(www.cdcxhl.com)提供简单好用,价格厚道的香港/美国云服务器和独立服务器。创新互联——四川成都IDC机房服务器托管/机柜租用。为您精选优质idc数据中心机房租用、服务器托管、机柜租赁、大带宽租用,高电服务器托管,算力服务器租用,可选线路电信、移动、联通机房等。

分享题目:Redis中彻底清空Key的方法(redis重置key)
文章分享:http://www.hantingmc.com/qtweb/news0/223750.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联