zoukankan      html  css  js  c++  java
  • Java中如何操作Redis

    转:https://blog.csdn.net/xyphf/java/article/details/83060716

    一、Jedis介绍

    Jedis是Redis官方首选的Java客户端开发包;

    Jedis的GitHUB地址https:github.com/xetorthio/jedis

    二、Jedis的jar包

    commons-pool2-2.3.jar

    jedis-2.7.0.jar

    1、新建一个java项目;

    2、在src下新建一个lib文件夹

    3、将Jedis的jar复制放到lib下面

    4、选中Jedis的两个Jar包右击,选择Build Path->Add to Build Path,添加到构建路径

    5、创建一个package,命名为com.imooc.jedis,在下面创建一个JedisDemo.java文件

    三、使用Jedis

    在Linux系统上打开Redis的6379端口

    进入Linux防火墙的设置
    vim /etc/sysconfig/iptables
    
    增加一行
    -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
    
    按Esc,:wq退出

    重启Linux防火墙

    service iptables restart

    运行Java程序,Run As => Junit Test

    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    
    /**
    * Jedis测试
    * @since 2018年10月15日
    */
    public class JedisDemo1{
    
    @Test
    /**
    * 单实例的测试
    */
    public void demo1(){
    // 1. 设置IP地址和端口
    Jedis jedis = new Jedis("192.168.32.130",6379);
    // 2. 保存数据
    jedis.set("name","imooc");
    // 3. 获取数据
    String value = jedis.get("name");
    System.out.println(value);
    // 4.释放资源
    jedis.close();
    }
    
    }

    运行结果:

    Jedis和JDBC是很类似的,它也可以使用连接池来进行操作

    连接池的方式 

    import org.junit.Test;
    import redis.clients.jedis.Jedis;
    
    /**
    * Jedis测试
    */
    public class JedisDemo1{
    
    @Test
    /**
    * 连接池连接方式
    */
    public void demo2(){
    // 获取连接池配置对象
    JedisPoolConfig config = new JedisPoolConfig();
    // 设置最大连接数
    config.setMaxTotal(30);
    // 设置最大的空闲连接数
    config.setMaxIdel(10);
    
    // 获得连接池: JedisPool jedisPool = new JedisPool(poolConfig,host,port);
    JedisPool jedisPool = new JedisPool(config,"192.168.32.130",6379);
    
    // 获得核心对象:jedis
    Jedis jedis = null;
    try{
    // 通过连接池来获得连接
    jedis = jedisPool.getResource();
    // 设置数据
    jedis.set("name","张三");
    // 获取数据
    String value = jedis.get("name");
    System.out.println(value);
    } catch (Exception e){
    e.printStackTrace();
    } finally {
    // 释放资源
    if(jedis != null){
    jedis.close();
    }
    // 释放连接池
    if(jedisPool != null){
    jedisPool.close();
    }
    }
    
    }
    
    }

    连接池使用总结

    ➀ 获取连接池配置对象

    ➁ 设置最大连接数和最大空闲连接数

    ➂ 获得连接池

    ➃ 获得核心对象

    ➄ 通过连接池获得链接

    ➅ 设置数据

    ➆ 获取数据

    ➇ 释放Jedis资源

    ➈ 释放jedisPool资源

  • 相关阅读:
    28完全背包+扩展欧几里得(包子凑数)
    HDU 3527 SPY
    POJ 3615 Cow Hurdles
    POJ 3620 Avoid The Lakes
    POJ 3036 Honeycomb Walk
    HDU 2352 Verdis Quo
    HDU 2368 Alfredo's Pizza Restaurant
    HDU 2700 Parity
    HDU 3763 CDs
    POJ 3279 Fliptile
  • 原文地址:https://www.cnblogs.com/jvStarBlog/p/12793450.html
Copyright © 2011-2022 走看看