java代码怎么正则删除redis的数据
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java代码怎么正则删除redis的数据相关的知识,希望对你有一定的参考价值。
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 。
参考技术A 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();本回答被提问者采纳
以上是关于java代码怎么正则删除redis的数据的主要内容,如果未能解决你的问题,请参考以下文章