思路:

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. CSS3 transform-origin 属性

    <!DOCTYPE html> <html> <head> <style> #div1 { position: relative; height: 20 ...

  2. 利用PHP+MySql+Ajax操作实现年月日联动功能

    PHP+MySql+Ajax实现年月日的三级联动 <!DOCTYPE html><html>    <head>        <meta charset=& ...

  3. IIS服务器的安全保护措施

    转载自:https://www.williamlong.info/archives/118.html 部分内容做了修改. 通过标注Web服务器安全级别以及可用性的安全策略,网络管理员将能够从容地在不同 ...

  4. sqlserver字符串分割

    create function sp_split( @c nvarchar(4000), @splitchar nvarchar(1) ) returns @table table (word nva ...

  5. 【blog】推荐一个博客系统后台管理模板 - pinghsu

    pinghsu https://github.com/chakhsu/pinghsu

  6. 【tmos】mvn package相关知识点(待补充...)

    SpringBoot项目打包跳过测试 <build> <plugins> <plugin> <groupId>org.springframework.b ...

  7. Maven项目在更新过程停止,再更新无效-->解决

    ---类似网友问题:但我按照这样无法解决. eclipse中maven项目jar包不会自动下载解决办法 - wavemelody - 博客园http://www.cnblogs.com/mymelod ...

  8. centos7图形化界面安装KVM虚拟机

    一.检查kvm和libvirt 是否安装 查看内核模块中是否含有kvm lsmod | grep kvm 查看cpu是否支持虚拟化 egrep -c '(vmx|svm)' /proc/cpuinfo ...

  9. Java内存模型[转]

    原文:http://www.cnblogs.com/nexiyi/p/java_memory_model_and_thread.html 1. 概述 多任务和高并发是衡量一台计算机处理器的能力重要指标 ...

  10. C++ std::pair的用法

    1 pair的应用 pair是将2个数据组合成一个数据,当需要这样的需求时就可以使用pair,如stl中的map就是将key和value放在一起来保存.另一个应用是,当一个函数需要返回2个数据的时候, ...