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

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

清空某个DB所有键

删除某DB内分组key

删除指定key
