• redis 简单整理——java 客户端jedis[十六]


    前言

    简单介绍一下java客户端jedis。

    正文

    Java有很多优秀的Redis客户端(详见:http://redis.io/clients#java),这 里介绍使用较为广泛的客户端Jedis,本节将按照以下几个方面对Jedis进行 介绍:

    ·Jedis的基本使用

    ·Jedis连接池使用

    ·Jedis中Pipeline使用

    ·Jedis的Lua脚本使用

    Jedis属于Java的第三方开发包,在Java中获取第三方开发包通常有两种

    方式:

    ·直接下载目标版本的Jedis-${version}.jar包加入到项目中。

    ·使用集成构建工具,例如maven、gradle等将Jedis目标版本的配置加入 到项目中。

    通常在实际项目中使用第二种方式,但如果只是想测试一下Jedis,第 一种方法也是可以的。在写本书时,Jedis最新发布的稳定版本2.8.2,以 Maven为例子,在项目中加入下面的依赖即可:

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

    然后编写代码:

    public static void main(String[] args) {
    	 //1. 生成一个Jedis对象,这个对象负责和指定Redis实例进行通信
    	Jedis jedis = new Jedis("127.0.0.1", 6379);
    	// 2. jedis执行set操作
    	jedis.set("hello", "world");
    	// 3. jedis执行get操作, value="world"
    	String value = jedis.get("hello");
            
            System.out.println(value);
    }
    

    一般时候如果是网络异常,那么应该try catch 这种模式。

    Jedis jedis = null; try {jedis = new Jedis("127.0.0.1", 6379); jedis.get("hello"); } catch (Exception e) { logger.error(e.getMessage(),e); } finally { if (jedis != null) { jedis.close(); } }
    

    有些客户端自带了系列化工具,有些客户端没有,jedic就没有,那么需要自我找个库进行解读。

    使用protostuff:

    可以自我实现一下反序列化,自己百度官网。

    上面我们看到一个问题就是redis 使用后,然后马上关闭了,如果redis是高频操作的话,那么是很危险的。

    因此生产环境中一般使用连接池的方式对Jedis连接进行管理,所有Jedis对象预先放在池子中(JedisPool),每次要连接Redis,只 需要在池子中借,用完了在归还给池子.

    另外直连的方式无法限制Jedis 对象的个数,在极端情况下可能会造成连接泄露,而连接池的形式可以有效 的保护和控制资源的使用。

    Jedis提供了JedisPool这个类作为对Jedis的连接池,同时使用了Apache的 通用对象池工具common-pool作为资源的管理工具,下面是使用JedisPool操 作Redis的代码示例:

    pipline 例子:

    其他的如Lua脚本可以jedis搜索一下官网。

    下一节客户端管理。

  • 相关阅读:
    &lt;Android&gt;greenrobot-EventBus,guava-Event Bus的异步实现
    MySQL Study之--MySQL用户及权限管理
    关于Apacheserver的訪问控制
    Jquery改动页面标题title其他JS失效
    P3742 umi的函数
    P3717 [AHOI2017初中组]cover
    P2261 [CQOI2007]余数求和
    P1423 小玉在游泳
    P1888 三角函数
    3295 落单的数 九章算法面试题
  • 原文地址:https://www.cnblogs.com/aoximin/p/15171414.html
Copyright © 2020-2023  润新知