redis如何进行分库存储和选择模糊清除缓存
package com.shopping.test; import redis.clients.jedis.Jedis; import java.util.Set; /** * 测试redis缓存 */ public class RedisTest { public static void main(String[] args) { //过期时间 int seconds = (60*60*24); System.out.println(seconds); //redis默认是16个库 Jedis jedis = new Jedis("127.0.0.1", 6379); // 创建客户端,1p和端口号 jedis.select(4);//选择的是存在哪一个库 jedis.setex("test1",seconds,"好,测试一下1"); jedis.setex("test2",seconds,"好,测试一下2"); jedis.setex("test3",seconds,"好,测试一下3"); String value = jedis.get("test1"); System.out.println(value); jedis.close(); // 释放连接资源 } /** * 删除库 * @param keyStr * @param host * @param port */ public static void Delete(String keyStr,String host,int port){ Jedis jedis = new Jedis(host, port); Set<String> keys = jedis.keys("*"+keyStr+"*"); System.out.println(keys); for (String key : keys) { jedis.del(key); } System.out.println(jedis.keys("*"+keyStr+"*")); } }
根据自己不同的业务选择不同的库进行缓存
redis提供了 select命令,可以通过select index 这个指令,将数据库切换到index所在的那个数据库上
jedis客户端也提供了对应的方法,可以通过jedis.select(4); 选择对应的数据库
正常情况下,我们通过get或者set方法是从db0中取数据。
1、redis提供了 select命令,可以通过select index 这个指令,将数据库切换到index所在的那个数据库上
2、jedis客户端也提供了对应的方法,可以通过jedis.select(N)来选择对应的数据库
注意:如果redis是集群部署的时候,选择对应的数据库是没用的,因为在redis在进群配置的时候默认使用db0