1.1   jedis介绍

Redis不仅是使用命令来操作,现在基本上主流的语言都有客户端支持,比如java、C、C#、C++、php、Node.js、Go等。

在官方网站里列一些Java的客户端,有Jedis、Redisson、Jredis、JDBC-Redis、等其中官方推荐使用Jedis和Redisson。 在企业中用的最多的就是Jedis,下面我们就重点学习下Jedis。

Jedis同样也是托管在github上,地址:https://github.com/xetorthio/jedis

1.2   添加jar包

1.3   单实例连接

     @Test

     public void testJedis() {

         jedis.select(1);//设置数据库

//创建一个Jedis的连接

         Jedis jedis = new Jedis("127.0.0.1", 6379);

         //执行redis命令

         jedis.set("mytest", "hello world, this is jedis client!");

         //从redis中取值

         String result = jedis.get("mytest");

         //打印结果

         System.out.println(result);

         //关闭连接

         jedis.close();

     }

Java

1.4   连接池连接

     @Test

     public void testJedisPool() {

         //创建一连接池对象

         JedisPool jedisPool = new JedisPool("127.0.0.1", 6379);

         //从连接池中获得连接

         Jedis jedis = jedisPool.getResource();

         String result = jedis.get("mytest");

         System.out.println(result);

         //关闭连接

         jedis.close();

         //关闭连接池

         jedisPool.close();

     }

1.5   Spring整合jedisPool

  • 添加spring的jar包
  • 配置spring配置文件applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"

     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mvc="http://www.springframework.org/schema/mvc"

     xmlns:context="http://www.springframework.org/schema/context"

     xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx"

     xsi:schemaLocation="http://www.springframework.org/schema/beans

         http://www.springframework.org/schema/beans/spring-beans-3.2.xsd

         http://www.springframework.org/schema/mvc

         http://www.springframework.org/schema/mvc/spring-mvc-3.2.xsd

         http://www.springframework.org/schema/context

         http://www.springframework.org/schema/context/spring-context-3.2.xsd

         http://www.springframework.org/schema/aop

         http://www.springframework.org/schema/aop/spring-aop-3.2.xsd

         http://www.springframework.org/schema/tx

         http://www.springframework.org/schema/tx/spring-tx-3.2.xsd ">

     <!-- 连接池配置 -->

     <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">

         <!-- 最大连接数 -->

         <property name="maxTotal" value="30" />

         <!-- 最大空闲连接数 -->

         <property name="maxIdle" value="10" />

         <!-- 每次释放连接的最大数目 -->

         <property name="numTestsPerEvictionRun" value="1024" />

         <!-- 释放连接的扫描间隔(毫秒) -->

         <property name="timeBetweenEvictionRunsMillis" value="30000" />

         <!-- 连接最小空闲时间 -->

         <property name="minEvictableIdleTimeMillis" value="1800000" />

         <!-- 连接空闲多久后释放, 当空闲时间>该值 且 空闲连接>最大空闲连接数 时直接释放 -->

         <property name="softMinEvictableIdleTimeMillis" value="10000" />

         <!-- 获取连接时的最大等待毫秒数,小于零:阻塞不确定的时间,默认-1 -->

         <property name="maxWaitMillis" value="1500" />

         <!-- 在获取连接的时候检查有效性, 默认false -->

         <property name="testOnBorrow" value="false" />

         <!-- 在空闲时检查有效性, 默认false -->

         <property name="testWhileIdle" value="true" />

         <!-- 连接耗尽时是否阻塞, false报异常,ture阻塞直到超时, 默认true -->

         <property name="blockWhenExhausted" value="false" />

     </bean>

     <!-- redis单机 通过连接池 -->

     <bean id="jedisPool" class="redis.clients.jedis.JedisPool"

         destroy-method="close">

         <constructor-arg name="poolConfig" ref="jedisPoolConfig" />

         <constructor-arg name="host" value="192.168.242.130" />

         <constructor-arg name="port" value="6379" />

     </bean>

</beans>
  • 测试代码
@Test

     public void testJedisPool() {

         JedisPool pool = (JedisPool) applicationContext.getBean("jedisPool");

         Jedis jedis = null;

         try {

              jedis = pool.getResource();

              jedis.set("name", "lisi");

              String name = jedis.get("name");

              System.out.println(name);

         } catch (Exception ex) {

              ex.printStackTrace();

         } finally {

              if (jedis != null) {

                   // 关闭连接

                   jedis.close();

              }

         }

     }

Java操作redis客户端Jedis使用的更多相关文章

  1. Java操作redis客户端Jedis连接集群(Cluster)

    创建JedisCluster类连接redis集群. @Test public void testJedisCluster() throws Exception { //创建一连接,JedisClust ...

  2. java操作redis之jedis篇

    首先来简单介绍一下jedis,其实一句话就可以概括的,就是java操作redis的一种api.我们知道redis提供了基本上所有常用编程语言的clients,大家可以到http://redis.io/ ...

  3. java操作redis。jedis使用api

    package com.wujintao.redis; import java.util.Date; import java.util.HashMap; import java.util.Iterat ...

  4. java操作redis(jedis)常用方法示例

    说明:redis命令和jedis方法名基本是一一对应的 Redis常用命令1 连接操作命令 ● quit:关闭连接(connection) ● auth:简单密码认证 ● help cmd: 查看cm ...

  5. Redis客户端——Jedis的使用

    本文介绍基于Java语言的Redis客户端——Jedis的使用,包括Jedis简介.获取Jedis.Jedis直连.Jedis连接池以及二者的对比的选择. Jedis简介 Jedis 是 Redis  ...

  6. windows下Redis安装及利用java操作Redis

    一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...

  7. Linux+Redis实战教程_day02_3、redis数据类型_4、String命令_5、hash命令_6、java操作redis数据库技术

    3. redis数据类型[重点] redis 使用的是键值对保存数据.(map) key:全部都是字符串 value:有五种数据类型 Key名:自定义,key名不要过长,否则影响使用效率 Key名不要 ...

  8. java操作redis学习(一):安装及连接

    文章参考自:http://www.cnblogs.com/edisonfeng/p/3571870.html,在此基础上进行了修改. 一.下载安装Redis redis官网显示暂时不支持Windows ...

  9. 使用Java操作Redis(一)

    Redis是一款基于key-value的数据库服务器,安装完成后我们可以通过redis-cli使用Redis提供的命令完成各种操作.redis-cli实际上就是一款客户端,和redis-server建 ...

随机推荐

  1. Navicat for Mysql 11.2 的下载,安装与激活

    1. Navicat for Mysql 11.2 的下载 链接:https://pan.baidu.com/s/1w54F-MYTLuy4TQwpzUE7bQ       密码:zsfu 2.下载的 ...

  2. 浅copy

    person=['aaa',['a',bbb'] p1=copy.copy(person) p2=person[:] p3=list(person) p4=person.copy() print(ty ...

  3. 开发大型项目必备 98%公司都在用的十佳 Java Web 应用框架

    众所周知,工欲善其事,必先利其器.选择一个好的 Web 应用框架就像一把称手的兵器,可以助大家披荆斩棘. 今天就为大家整理了十佳 Java Web 应用框架,并简单讨论一下它们的优缺点. 第一,大名鼎 ...

  4. Python使用+和*操作符 连接2个列表和列表的复制

    + 操作符通常连接两个列表可以使用 +进行连接得到一个新列表 *操作符择可以用于一个列表和一个整数,实现列表的复制.

  5. 用eclipse运行算法第四版的BinarySearch

    import java.util.Arrays; import edu.princeton.cs.algs4.In; import edu.princeton.cs.algs4.StdIn; impo ...

  6. jquery如何获取div下ul的某个li

    $('div ul').each(function(){ alert($(this).find('li').eq(x)) }) $("div ul li:eq(1)")// $(& ...

  7. LA 3882 经典约瑟夫环问题的数学递推解法

    就是经典约瑟夫环问题的裸题 我一开始一直没理解这个递推是怎么来的,后来终于理解了 假设问题是从n个人编号分别为0...n-1,取第k个, 则第k个人编号为k-1的淘汰,剩下的编号为  0,1,2,3. ...

  8. 题解 P2382 【化学分子式】

    题目 不懂为什么,本蒟蒻用在线算法打就一直炸...... 直到用了"半离线"算法...... 一遍就过了好吗...... 某位机房的小伙伴一遍就过了 另一位机房的小伙伴也是每次都爆 ...

  9. slideshare文档下载

    if [ x"$1" = x1 ]; then for i in {1..46}; do url_i="https://image.slidesharecdn.com/b ...

  10. Java之同步方法处理继承Thread类的线程安全问题

    /** * 使用同步方法处理继承Thread类的方式中的线程安全问题 * */class Window4 extends Thread { private static int ticket = 10 ...