java操作redis之按照关键字删除缓存数据
思路:
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之按照关键字删除缓存数据的更多相关文章
- Redis-基本概念、java操作redis、springboot整合redis,分布式缓存,分布式session管理等
NoSQL的引言 Redis数据库相关指令 Redis持久化相关机制 SpringBoot操作Redis Redis分布式缓存实现 Resis中主从复制架构和哨兵机制 Redis集群搭建 Redis实 ...
- Redis基础知识、命令以及java操作Redis
1 nosql的概念 sql:操作(关系型)数据库的标准查询语言 关系型数据库(rdbms):以关系(由行和列组成的二维表)模型为核心数据库,有表的储存系统.(mysql.oracle.sqlserv ...
- 最全的Java操作Redis的工具类,使用StringRedisTemplate实现,封装了对Redis五种基本类型的各种操作!
转载自:https://github.com/whvcse/RedisUtil 代码 ProtoStuffSerializerUtil.java import java.io.ByteArrayInp ...
- java 操作redis
使用Java操作Redis需要jedis-2.1.0.jar,如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar package com.test; import ja ...
- windows下Redis安装及利用java操作Redis
一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...
- Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术
3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...
- Java操作Redis工具类
依赖 jar 包 <dependency> <groupId>redis.clients</groupId> <artifactId>jedis< ...
- java操作redis学习(一):安装及连接
文章参考自:http://www.cnblogs.com/edisonfeng/p/3571870.html,在此基础上进行了修改. 一.下载安装Redis redis官网显示暂时不支持Windows ...
- java操作redis之jedis篇
首先来简单介绍一下jedis,其实一句话就可以概括的,就是java操作redis的一种api.我们知道redis提供了基本上所有常用编程语言的clients,大家可以到http://redis.io/ ...
随机推荐
- Vertica系列: 表的分段和分区
Vertica 有两个数据分布的概念, segmentation 和 partition, 至少有下面几个区别: 1.目的方面:segmentation 解决各节点数据倾斜问题, 适用于木桶原理, 数 ...
- Kudu系列: Kudu主键选择策略
每个Kudu 表必须设置Pimary Key(unique), 另外Kudu表不能设置secondary index, 经过实际性能测试, 本文给出了选择Kudu主键的几个策略, 测试结果纠正了我之前 ...
- springboot(二十三)Springboot2.X响应式编程
序言 Spring WebFlux是Spring Framework 5.0中引入的新的反应式Web框架与Spring MVC不同,它不需要Servlet API,完全异步和非阻塞,并 通过React ...
- Devexpress Winform 使用MVVM
MVVM在WPF里很早就有了,在Winform里Devexpress最近几个大版本才有的事,上一段代码. 现在对话框上添加三个控件simpleButton1,simpleButton2,textEdi ...
- Javaweb学习笔记——(二十二)——————文件上传、下载、Javamail
文件上传概述 1.文件上传的作用 例如网络硬盘,就是用来上传下载文件的. 在网络浏览器中,时常需要上传照片 2.文件上传对页面的要求 上 ...
- 002_Add Two Numbers
# Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # sel ...
- 嵌入式-迅为iTOP-4418开发板Flash空间问题
我的4418开发板 是4G版本 16G存储空间的.u-boot和文件系统.内核都是光盘自带的,进入linux系统之后 我使用df -h命令看到的存储空间不对,我用U盘做了测试:u盘里面放1G的内容往a ...
- 洛谷P2699小浩的幂次运算
二分走一波,没想到题解的大佬做法 p_q 注意爆long long,所以先对数取一下上限 二分确定下限,然后输出 #include<stdio.h> #include<math.h& ...
- 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 ...
- linux find 只获取文件名而去除路径
find /var/process_log/ -name '*.log' -exec basename {} \;