清空redis缓存

作者: 黑客不黑_ | 来源:发表于2019-04-28 14:08 被阅读0次

REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。
Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。

Redis 与其他 key - value 缓存产品有以下三个特点:

  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

Redis 优势

  • 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
  • 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
  • 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
  • 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis与其他key-value存储有什么不同?

  • Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。

  • Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

如何清空redis缓存

正因为redis数据缓存在内存中以支持数据高速读写,并且会吃数据持久化,所以使用redis缓存一方面极大的增加了数据的读写速度,但另一方面数据需要更新时或者键需要更新时redis key过期时间还没更新,那么测试就会使用原有的存储键,这样测试肯定会出错或者测试不出效果。那么怎么清空redis缓存呢?

针对存储键类型,如果你的redis存储都是可以删除清空的那么直接使用flushall清空所有就可以了,如果不能全部清空,那么开发运维人员肯定要设置不能flushall清空所有,那么需要清空缓存时就针对指定key删除就可以了。

下面提供命令行方式和客户端方式操作,熟悉linux的使用命令就可以了,不熟悉的话结合客户端操作就很容易理解了。

1.在服务器上使用命令清空redis缓存

配置软链接

cd  /usr/local/redis/bin  #找到自己的安装目录,默认在/usr/local下
ln -s /usr/local/redis/bin/redis-cli  /usr/bin/redis-cli

登录redis:redis-cli -h 127.0.0.1 -p 6379

[root@ip-172-31-46-17 ~]# redis-cli 
127.0.0.1:6379> AUTH password  #此处填写你的redis密码
127.0.0.1:6379>keys *  #可以查看到所有存在的key
 1) "bussiness-api:1231054320571656"
 2) "bussiness-api:643794138796641312"
 3) "foo"
 4) "bussiness-api:3211054132057321"
 5) "bussiness-api:1000001764571764"
 6) "bussiness-api:1231054132057131"
 7) "bussiness-api:1231054132057124"
 8) "bussiness-api:1201054132417171"
 9) "bussiness-api:1231054132057115"
10) "bussiness-api:1201054132455171"
127.0.0.1:6379>del key   #key 替换为你想删除的key,也可以使用正则匹配删除
127.0.0.1:6379>flushall   #删除所有key值
127.0.0.1:6379>flushdb  #清空当前库中的所有 key
2、使用redis客户端连接并清空缓存

下载安装redis客户端,官网下载订阅是收费的,去github下载,有钱人可以任性。
项目地址:https://github.com/uglide/RedisDesktopManager
下载地址:RedisDesktopManager/releases/tag/0.8.8

image.png

连接redis,如果是云服务器注意需要开放防火墙端口和安全组,确认端口可以地访问。

image.png

清空某个DB所有键


image.png

删除某DB内分组key


image.png

删除指定key


image.png

相关文章