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



posted @ 2019-07-06 15:40  坠落凡尘的魔鬼  阅读(2261)  评论(0编辑  收藏  举报