首页 > 代码库 > Redis 常用操作

Redis 常用操作


import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.Set;

public
class RedisUtilTest { private Jedis jedis; @Before public void setup(){ //连接redis服务器,localhost:6379 jedis = new Jedis("localhost", 6379); //权限认证 jedis.auth("123456"); } /** * 通过手机号删除缓存 */ @Test public void testDelByPhoneNum(){ Set<String> set = jedis.keys("*15555555555*"); System.out.println(set); for(String key: set){ jedis.del(key); System.out.println(""+key+"】have deleted!"); } } }

 

keys

public Set<String> keys(String pattern)
Returns all the keys matching the glob-style pattern as space separated strings. For example if you have in the database the keys "foo" and "foobar" the command "KEYS foo*" will return "foo foobar".
Note that while the time complexity for this operation is O(n) the constant times are pretty low. For example Redis running on an entry level laptop can scan a 1 million keys database in 40 milliseconds. Still its better to consider this one of the slow commands that may ruin the DB performance if not used with care.

In other words this command is intended only for debugging and special operations like creating a script to change the DB schema. Dont use it in your normal code. Use Redis Sets in order to group together a subset of objects.

Glob style patterns examples:

h?llo will match hello hallo hhllo
h*llo will match hllo heeeello
h[ae]llo will match hello and hallo, but not hillo
Use \ to escape special chars if you want to match them verbatim.

 

Redis 常用操作