思路:

1、链接redis数据库,连接成功
2、js.del(key),按照指定的key进行删除,封装删除方法
3、js.keys("*"),获取所有键keys的集合,对set集合进行遍历
4、对遍历结果进行判断,包含关键字的,即想删除的,都调用封装好的删除方法即可

示例代码

import org.apache.log4j.Logger;
import org.testng.annotations.Test;
import redis.clients.jedis.Jedis;
import java.util.Iterator;
import java.util.Set; /**
* @author rong.rong
* redis操作类
*/
public class RedisDBHelper { static Jedis js = null;
public static Logger logger = Logger.getLogger(RedisDBHelper.class);
private static String hostUrl = BaseInfo.getInfo("hostUrl");
private static int hostPort = Integer.parseInt(BaseInfo.getInfo("hostPort"));
private static String authPassWord = BaseInfo.getInfo("authPassWord"); /**
* 链接redis数据库,进行初始化
*
* @return:返回是否初始化链接成功
*/
public static boolean init() {
if (js == null) {
js = new Jedis(hostUrl, hostPort);
js.auth(authPassWord);
}
if (js != null) {
logger.info("初始化成功");
return true;
} else {
return false;
}
} /**
* 删除数据
*
* @param key:要删除数据的key
* @return:返回boolean值,表示是否删除成功
*/
public static boolean delete(String key) {
if (js.exists(key)) {
if (js.del(key) == 1) {
logger.info("删除数据成功");
return true;
} else {
logger.info("删除数据失败");
return false;
}
} else {
logger.info(key + "不存在");
return false;
}
} /**
* 按照关键字删除redis缓存数据
*/
public static void deleteData(String keys) {
//链接redis数据库,进行初始化
init();
Set<String> set = js.keys("*");
if (set.size() != 0) {
Iterator<String> it = set.iterator();
while (it.hasNext()) {
String key = it.next();
if (key.contains(keys)) {
logger.info(key);
delete(key);
}
}
} else {
logger.info("数据库暂时没有数据");
}
//关闭链接
unInit();
} /**
* 关闭链接
*/
public static void unInit() {
if (js != null) {
js.close();
js = null;
}
} @Test
public void test() {
deleteData("key");
}
}

java操作redis之按照关键字删除缓存数据的更多相关文章

  1. Redis-基本概念、java操作redis、springboot整合redis,分布式缓存,分布式session管理等

    NoSQL的引言 Redis数据库相关指令 Redis持久化相关机制 SpringBoot操作Redis Redis分布式缓存实现 Resis中主从复制架构和哨兵机制 Redis集群搭建 Redis实 ...

  2. Redis基础知识、命令以及java操作Redis

    1 nosql的概念 sql:操作(关系型)数据库的标准查询语言 关系型数据库(rdbms):以关系(由行和列组成的二维表)模型为核心数据库,有表的储存系统.(mysql.oracle.sqlserv ...

  3. 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!

    转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...

  4. java 操作redis

    使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar package com.test; import ja ...

  5. windows下Redis安装及利用java操作Redis

    一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...

  6. Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

    3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...

  7. Java操作Redis工具类

    依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...

  8. java操作redis学习(一):安装及连接

    文章参考自:http://www.cnblogs.com/edisonfeng/p/3571870.html,在此基础上进行了修改. 一.下载安装Redis redis官网显示暂时不支持Windows ...

  9. java操作redis之jedis篇

    首先来简单介绍一下jedis,其实一句话就可以概括的,就是java操作redis的一种api.我们知道redis提供了基本上所有常用编程语言的clients,大家可以到http://redis.io/ ...

随机推荐

  1. Vertica系列: 表的分段和分区

    Vertica 有两个数据分布的概念, segmentation 和 partition, 至少有下面几个区别: 1.目的方面:segmentation 解决各节点数据倾斜问题, 适用于木桶原理, 数 ...

  2. Kudu系列: Kudu主键选择策略

    每个Kudu 表必须设置Pimary Key(unique), 另外Kudu表不能设置secondary index, 经过实际性能测试, 本文给出了选择Kudu主键的几个策略, 测试结果纠正了我之前 ...

  3. springboot(二十三)Springboot2.X响应式编程

    序言 Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞,并 通过React ...

  4. Devexpress Winform 使用MVVM

    MVVM在WPF里很早就有了,在Winform里Devexpress最近几个大版本才有的事,上一段代码. 现在对话框上添加三个控件simpleButton1,simpleButton2,textEdi ...

  5. Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail

    文件上传概述      1.文件上传的作用          例如网络硬盘,就是用来上传下载文件的.          在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求          上 ...

  6. 002_Add Two Numbers

    # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # sel ...

  7. 嵌入式-迅为iTOP-4418开发板Flash空间问题

    我的4418开发板 是4G版本 16G存储空间的.u-boot和文件系统.内核都是光盘自带的,进入linux系统之后 我使用df -h命令看到的存储空间不对,我用U盘做了测试:u盘里面放1G的内容往a ...

  8. 洛谷P2699小浩的幂次运算

    二分走一波,没想到题解的大佬做法 p_q 注意爆long long,所以先对数取一下上限 二分确定下限,然后输出 #include<stdio.h> #include<math.h& ...

  9. Tomcat多应用启动报错:org.apache.catalina.loader.WebappClassLoaderBase.checkStateForResourceLoading Illegal access: this web application instance has been stopped already. Could not load [].

    Loaded org.apache.tomcat.util.net.NioBlockingSelector$BlockPoller$RunnableRemove from .M22/lib/tomca ...

  10. linux find 只获取文件名而去除路径

    find /var/process_log/ -name '*.log' -exec basename {} \;