java连接redis

1. java连接单机redis

首先创建一个普通的maven工程

(1)引入依赖

 <dependencies>
        <dependency>
            <groupId>redis.clients</groupId>
            <artifactId>jedis</artifactId>
            <version>3.8.0</version>
        </dependency>
</dependencies>

(2)测试

package demo01;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;


public class Test01 {
    public static void main(String[] args) {
         //把所有关于对redis的操作都封装到一个类中Jedis。
//        Jedis jedis=new Jedis();//无参构造函数,默认连接的是本地的redis。而且端口6379
        Jedis jedis=new Jedis("192.168.223.147",6379);

//        String ping = jedis.ping();//测试连通性
//        System.out.println(ping);
        Set<String> keys = jedis.keys("*");
        System.out.println(keys);
        Long del = jedis.del("k2", "k3","k5");
        System.out.println("删除的个数:"+del);
        //关于字符串的操作
//        jedis.setex("k5",20L,"zkl");
//        String k5 = jedis.get("k5");
//        System.out.println(k5);
//        Long setnx = jedis.setnx("k6", "yqc");
//        System.out.println(setnx);

        //关于hash的操作
        jedis.hset("k10","name","tjc");
        String hget = jedis.hget("k10", "name");
        System.out.println(hget);

        Map<String,String> map=new HashMap<String,String>();
        map.put("name","王振阳");
        map.put("age","18");
        map.put("sex","男");
        jedis.hset("k11",map);
        Map<String, String> map1 = jedis.hgetAll("k11");
        System.out.println(map1.get("name"));
        //关于其他类型---自己实验
        jedis.close();//关闭连接对象


    }
}

特点: Jedis把对redis的操作都封装到Jedis类对象中了,而每个命令封装了一个对应的方法  

2. java通过连接池连接redis

连接池的作用: 减少频繁创建和销毁连接对象。

package demo01;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;


public class Test02 {
    public static void main(String[] args) {
        //配置连接对象信息
        JedisPoolConfig poolConfig=new JedisPoolConfig();
        poolConfig.setMinIdle(5);//设置最小的空闲数
        poolConfig.setMaxIdle(10); //当没人连接redis服务器时,该池子中最能空闲几个连接对象
        poolConfig.setMaxTotal(15); //当有人连接redis服务时,最大能生成多少个连接对象
//        poolConfig.setMaxWait();

        //创建连接池对象
        JedisPool jedisPool=new JedisPool(poolConfig,"192.168.223.147",6379);
        long start = System.currentTimeMillis();

        //从连接池获取连接对象
        for(int i=0;i<1000;i++) {
            Jedis jedis = jedisPool.getResource();
            jedis.ping();
            jedis.close();//把该对象还给连接池
        }
        long end=System.currentTimeMillis();
        System.out.println("耗时:"+(end-start));

    }
}

3. java连接redis集群

public class Test03 {
    public static void main(String[] args) {
        Set<HostAndPort> set=new HashSet<HostAndPort>();
        set.add(new HostAndPort("192.168.223.158",7001));
        set.add(new HostAndPort("192.168.223.158",7002));
        set.add(new HostAndPort("192.168.223.158",7003));
        set.add(new HostAndPort("192.168.223.158",7004));
        set.add(new HostAndPort("192.168.223.158",7005));
        set.add(new HostAndPort("192.168.223.158",7006));
        //创建一个Jedis集群对象---需要传入redis集群服务的地址信息
        JedisCluster jedisCluster=new JedisCluster(set);
        jedisCluster.set("k66","v66");
        System.out.println(jedisCluster.get("k66"));

        jedisCluster.close();
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值