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资源

  • 相关阅读:
    [leetcode]397. Integer Replacement
    [LeetCode]396. Rotate Function
    [leetcode]633. Sum of Square Numbers
    [LeetCode]367. Valid Perfect Square判断完全平方数
    [LeetCode]319. Bulb Switcher灯泡开关
    [LeetCode]313. Super Ugly Number超级丑数,丑数系列看这一道就行了
    [LeetCode]231. Power of Two判断是不是234的幂
    使用导入外部样式文件方式
    使用内部样式
    使用链接外部样式文件方式
  • 原文地址:https://www.cnblogs.com/jvStarBlog/p/12793450.html
Copyright © 2011-2022 走看看