zoukankan      html  css  js  c++  java
  • 使用Jedis操作Redis数据库

    Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。 在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis。

    使用Jedis时,需要导入两个jar包:

    Jedis的基本操作是:

    Jedis官方文档:http://xetorthio.github.io/jedis/

    Jedis的常用API是:

    Jedis的基本操作是:

    @Test
    public void testJedisSingle(){
    //1 设置ip地址和端口
    Jedis jedis = new Jedis("localhost", 6379);
    //2 设置数据
    jedis.set("name", "qingmu");
    //3 获得数据
    String name = jedis.get("name");
    System.out.println(name);
    //4 释放资源
    jedis.close();
    }

     jedis连接池的使用:

    jedis连接资源的创建与销毁是很消耗程序性能,所以jedis为我们提供了jedis的池化技术,jedisPool在创建时初始化一些连接资源存储到连接池中,使用jedis连接资源时不需要创建,而是从连接池中获取一个资源进行redis的操作,使用完毕后,不需要销毁该jedis连接资源,而是将该资源归还给连接池,供其他请求使用。
    Jedis连接池查询API的方式:

    jedisPool的基本使用:

    @Test
    public void testJedisPool(){
    //1 获得连接池配置对象,设置配置项
    JedisPoolConfig config = new JedisPoolConfig();
    // 1.1 最大连接数
    config.setMaxTotal(30);
    // 1.2 最大空闲连接数
    7.4 案例-编写jedis连接池工具类
    JedisUtils.java
    config.setMaxIdle(10);
    //2 获得连接池
    JedisPool jedisPool = new JedisPool(config, "localhost", 6379);
    //3 获得核心对象
    Jedis jedis = null;
    try {
    jedis = jedisPool.getResource();
    //4 设置数据
    jedis.set("name", "itcast");
    //5 获得数据
    String name = jedis.get("name");
    System.out.println(name);
    } catch (Exception e) {
    e.printStackTrace();
    } finally{
    if(jedis != null){
    jedis.close();
    }
    // 虚拟机关闭时,释放pool资源
    if(jedisPool != null){
    jedisPool.close();
    }
    }
    }

    Jedis的工具类的编写:

    package com.itheima.utils;
    import java.util.ResourceBundle;
    import redis.clients.jedis.Jedis;
    import redis.clients.jedis.JedisPool;
    import redis.clients.jedis.JedisPoolConfig;
    public class JedisUtils {
    private static JedisPoolConfig poolConfig = null;
    private static JedisPool jedisPool = null;
    private static Integer maxTotal = null;
    private static Integer maxIdle = null;
    private static String host = null;
    private static Integer port = null;
    static{
    jedis.properties
    //读取配置文件 获得参数值
    ResourceBundle rb = ResourceBundle.getBundle("jedis");
    maxTotal = Integer.parseInt(rb.getString("jedis.maxTotal"));
    maxIdle = Integer.parseInt(rb.getString("jedis.maxIdle"));
    port = Integer.parseInt(rb.getString("jedis.port"));
    host = rb.getString("jedis.host");
    poolConfig = new JedisPoolConfig();
    poolConfig.setMaxTotal(maxTotal);
    poolConfig.setMaxIdle(maxIdle);
    jedisPool = new JedisPool(poolConfig,host,port);
    }
    public static Jedis getJedis(){
    Jedis jedis = jedisPool.getResource();
    return jedis;
    }
    }

    jedis.properties

    jedis.host=localhost
    jedis.port=6379
    jedis.maxTotal=30
    jedis.maxIdle=10
  • 相关阅读:
    QSPI
    温度标准
    minigui占用空间的情况
    引导页的展示
    Xcode6.0以后SVN的配置
    【转】iOS多线程编程技术之NSThread、Cocoa NSOperation、GCD
    SDWebImage最新使用
    OC设计模式
    Objective-c的@property 详解
    iOS开发时间戳与时间,时区的转换,汉字与UTF8,16进制的转换
  • 原文地址:https://www.cnblogs.com/qingmuchuanqi48/p/10918100.html
Copyright © 2011-2022 走看看