首 页 行业热点 新车 试驾评测 养车用车 车型库

java代码怎么正则删除redis的数据

发布网友

我来回答

2个回答

热心网友

java代码怎么正则删除redis的数据,即批量删除符合一定条件的redis数据,现在介绍批量删除已某些字符开头的redis数据:

在Java中连接Redis,并进行操作,首先得加载以JAR包形式存在的Java中的Redis Client,我们这里选择Jedis。以下是使用Jedis的具体步骤:

在Maven项目中,在pom.xml中增加如下语句(即加载Jedis jar包):

<dependency>  

           <groupId>redis.clients</groupId>  

            <artifactId>jedis</artifactId>  

          <version>2.7.2</version>  

            <type>jar</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";   

            Set<String> set = jedis.keys(pre_str +"*");  

            Iterator<String> 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 。

热心网友

RedisDO rd = new RedisDO();
rd.open();
Set s = rd.jedis.keys("*");
Iterator it = s.iterator();

while (it.hasNext()) {
String key = (String) it.next();
String value = rd.jedis.get(key);
System.out.println(key + value);
}
rd.close();

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com