十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
java代码怎么正则删除redis的数据,即批量删除符合一定条件的redis数据,现在介绍批量删除已某些字符开头的redis数据:
创新互联建站是专业的东川网站建设公司,东川接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东川网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
在Java中连接Redis,并进行操作,首先得加载以JAR包形式存在的Java中的Redis Client,我们这里选择Jedis。以下是使用Jedis的具体步骤:
在Maven项目中,在pom.xml中增加如下语句(即加载Jedis jar包):
dependency
groupIdredis.clients/groupId
artifactIdjedis/artifactId
version2.7.2/version
typejar/type
/dependency
如不是Maven工程,就自行下载Jedis jar包引用即可。
在加载Jedis JAR包之后,可以直接使用新建一个Jedis实例的方法,来建立一个到Redis的连接,并进行操作。不过跟Mysql一样,每次操作的时候,都建立连接,很耗费性能。解决方法就是从一个连接池中取出连接对象,用完还回去。使用连接池的方案还能解决很多同步性问题。
在Jedis中,管理Redis连接的类是JedisPool
package com.atzy
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
public class RedisHelper {
public static void main(String[] args) {
JedisPool jedisPool = new JedisPool("localhost", 6379);
Jedis jedis = null;
try {
jedis = jedisPool.getResource();
String pre_str="ab";
SetString set = jedis.keys(pre_str +"*");
IteratorString it = set.iterator();
while(it.hasNext()){
String keyStr = it.next();
System.out.println(keyStr);
jedis.del(keyStr);
}
} catch (Exception e) {
e.printStackTrace();
} finally {
if (jedis != null)
jedis.close();
}
jedisPool.destroy();
}
}
以上代码则是批量删除以某字符串前缀的key 。
简单实现代码如下:
EmployeeDao.java
//删除数据
public boolean deleteEmployeeById(int id){
boolean result = false;
try{
con = DBCon.getConn();
String sql = "delete from tb_employee where id=?";
pstmt = (PreparedStatement) con.prepareStatement(sql);
pstmt.setInt(1, id);
int i = pstmt.executeUpdate();
if(i == 1)
result = true;
}catch(Exception e){
e.printStackTrace();
}finally{
try{
if(pstmt != null){
pstmt.close();
}
}catch(Exception e){
e.printStackTrace();
}
try{
if(con != null){
con.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
return result;
}
TestSql2.java
package com.sql.test;
import com.sql.dao.EmployeeDao;
public class TestSql02 {
public static void main(String[] args){
boolean result = EmployeeDao.getInstance().deleteEmployeeById(1);
if(result == true){
System.out.println("删除成功!");
}else{
System.out.println("删除失败!");
}
}
}
有两种方法:
1.
使用循环,在循环里面调用remove(下标)来循环删除数组中的每一个数据
2.
将你的数组重新new一下,这样就将原来的数组覆盖清空了