Java操作Redis两种方式

(一)环境依赖

java操作redis需要借助于第三方jar包jedis来操作
首先在idea中创建maven项目 db_redis
在pom.xml文件中添加jedis依赖

<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>3.3.0</version>
</dependency>

注意:jedis的版本号和redis的版本号不是一一对应的。

(二)单连接方式

使用单连接的方式操作redis代码如下:

package redis;

import redis.clients.jedis.Jedis;

/**
 * 注意:代码能执行的前提
 * 1.redis 所在服务器防火墙要关闭
 * 2.redis.conf 中的bind参数需要指定192.168.23.103
 */

public class RedisSingle {
    public static void main(String[] args) {
        //1.或缺jedis链接
        Jedis jedis = new Jedis("192.168.23.103", 6379);

        jedis.set("lili","hello lili");

        //从Redis中查询
        String lili = jedis.get("lili");
        System.out.println(lili);

        //关闭jedis
        jedis.close();

    }
}

(三)连接池方式

接下来使用连接池的方式操作redis
代码如下:

package redis;

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

public class RedisPool {
    public static void main(String[] args) {

        JedisPoolConfig poolConfig = new JedisPoolConfig();

        //连接词最大空闲连接数
        poolConfig.setMaxIdle(10);
        //连接池中创建的最大连接数
        poolConfig.setMaxTotal(100);
        //创建连接的超时时间
        poolConfig.setMaxWaitMillis(2000);
        //表示从连接池中获取连接的时候会先测试一下连接是否可用,这样可以保证取出的连
        poolConfig.setTestOnBorrow(true);

        //获取jedis
        JedisPool jedisPool = new JedisPool(poolConfig, "192.168.23.103", 6379);

        //从连接池中取出一个链接
        Jedis jedis = jedisPool.getResource();
        String value = jedis.get("lili");
        System.out.println(value);

        //注意:此处的close方法有两层含义
        //1:如果jedis是直接创建的单连接,此时表示直接关闭这个连接
        //2:如果jedis是从连接池中获取的连接,此时会把这个连接返回给连接池
        jedis.close();
    }
}

(四)总结

java可以通过俩种方式操作redis
可以封装成工具类

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

/**
 * 基于Redis连接池提取Redis工具类
 */
public class RedisUtils {

    //私有化构造函数,禁止new
    private RedisUtils(){}
    private  static JedisPool jedisPool=null;
    //获取连接
    public static synchronized Jedis getJedis(){
        if(jedisPool==null)
        {
            JedisPoolConfig poolConfig = new JedisPoolConfig();

            //连接词最大空闲连接数
            poolConfig.setMaxIdle(10);
            //连接池中创建的最大连接数
            poolConfig.setMaxTotal(100);
            //创建连接的超时时间
            poolConfig.setMaxWaitMillis(2000);
            //表示从连接池中获取连接的时候会先测试一下连接是否可用,这样可以保证取出的连
            poolConfig.setTestOnBorrow(true);
            //获取jedis
            jedisPool = new JedisPool(poolConfig, "192.168.23.103", 6379);
        }
        return jedisPool.getResource();
    }
    //向连接池返回连接
    public static void returnResource(Jedis jedis){
        jedis.close();
    }

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值