redis在java中的使用(实例讲解)

1、首先下载jar包放到你的工程中

2、练习

package com.jianyuan.redisTest;
import java.util.Iterator;
import java.util.List;
import java.util.Set;
import redis.clients.jedis.Jedis;
public class RedisTest {
public static void main(String[] args) {
//连接本地的Redis服务
Jedis jedis = new Jedis("127.0.0.1",6379);
//权限认证
jedis.auth("wenhongyu66");
jedis.select(0);
System.out.println("连接成功");
//查看服务是否运行
System.out.println(jedis.ping());
//设置 redis 字符串数据
jedis.set("runoobkey", "www.runoob.com");
 // 获取存储的数据并输出
System.out.println("redis 存储的字符串为: "+ jedis.get("runoobkey"));
 //存储数据到列表中
jedis.lpush("site-list", "Runoob");
 jedis.lpush("site-list", "Google");
 jedis.lpush("site-list", "Taobao");
 System.out.println(jedis.llen("site-list"));
 // 获取存储的数据并输出
List<String> list = jedis.lrange("site-list", 0 ,jedis.llen("site-list"));
 for(int i=0; i<list.size(); i++) {
 System.out.println("列表项为: "+list.get(i));
 }
 // 获取数据并输出
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator() ;
while(it.hasNext()){
String key = it.next();
System.out.println(key);
}
}
}

总结:自己可以封装一些工具类方便使用,包括连接池的配置,jedis参数的配置等。

private static JedisPool jedisPool = null;
private static Jedis jedis;

static {
 jedis = getJedisPool().getResource();
}

/**
 * 构建redis连接池
 */
public static JedisPool getJedisPool() {
 if (jedisPool == null) {
  JedisPoolConfig config = new JedisPoolConfig();
  config.setMaxTotal(1024); // 可用连接实例的最大数目,如果赋值为-1,表示不限制.
  config.setMaxIdle(5); // 控制一个Pool最多有多少个状态为idle(空闲的)jedis实例,默认值也是8
  config.setMaxWaitMillis(1000 * 100); // 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时/如果超过等待时间,则直接抛出异常
  config.setTestOnBorrow(true); // 在borrow一个jedis实例时,是否提前进行validate操作,如果为true,则得到的jedis实例均是可用的
  jedisPool = new JedisPool(config, "127.0.0.1", 6379);
 }
 return jedisPool;
}

/**
 * 释放jedis资源
 */
public static void returnResource(Jedis jedis) {
 if (jedis != null) {
  jedis.close();
 }
}
public static String get(String key) {
 String value = null;
 Jedis jedis = null;
 try {
  JedisPool pool = getJedisPool();
  jedis = pool.getResource();
  value = jedis.get(key);
 }
 catch (Exception e) {
  returnResource(jedis);
  e.printStackTrace();
 }
 finally {
  returnResource(jedis);
 }
 return value;
}

RedisTemplate封装了从JedisPool中取jedis以及返回池中

public class RedisTemplate {

 private JedisPool jedisPool;

 public RedisTemplate(JedisPool jedisPool) {
  this.jedisPool = jedisPool;
 }

 public <T> T execute(RedisCallback<T> callback) {
  Jedis jedis = jedisPool.getResource();
  try {
   return callback.handle(jedis);
  }
  catch (Exception e) {
   // throw your exception
   throw e;
  }
  finally {
   returnResource(jedis);
  }
 }

 private void returnResource(Jedis jedis) {
  if (jedis != null) {
   jedis.close();
  }
 }
}
public interface RedisCallback<T> {
 public T handle(Jedis jedis);
}

以上这篇redis在java中的使用(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • java 连接Redis的小例子

    需要相应API (jedis-2.1.0.jar) 复制代码 代码如下: package com.redis; import redis.clients.jedis.Jedis; public class Client {    public void getCache(String key){        Jedis jedis = new Jedis("127.0.0.1",6379); for (int i = 0; i < 100000; i++){          

  • Java中使用Jedis操作Redis的示例代码

    使用Java操作Redis需要jedis-2.1.0.jar,下载地址:jedis-2.1.0.jar 如果需要使用Redis连接池的话,还需commons-pool-1.5.4.jar,下载地址:commons-pool-1.5.4.jar package com.test; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import org.j

  • Java连接Vmware中的redis

    本文使用的vmware 11,安装的系统是centos6.7,redis版本是3..0.2 .如何安装请参考上一篇文章<Linux下安装Redis并设置相关服务>.          安装完redis以后,我们是不是要迫不及待的想使用一下呢.那么我们要在程序中对redis进行操作的话,操作redis的插件有好几种,这里使用的jedis.          我们新建一个java程序以后,添加上Jedis.jar以后,并添加junit 的类库.创建一个java类进行测试.项目架构如图所示.  Ja

  • redis在java中的使用(实例讲解)

    1.首先下载jar包放到你的工程中 2.练习 package com.jianyuan.redisTest; import java.util.Iterator; import java.util.List; import java.util.Set; import redis.clients.jedis.Jedis; public class RedisTest { public static void main(String[] args) { //连接本地的Redis服务 Jedis je

  • Java中Swing类实例讲解

    Swing类部分画图方法讲解 定义框架 JFrame jFrame=new JFrame("标题名字"); jFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); //设置用户在此窗体上发起 "close" 时默认执行的操作. //有两种选择,默认是 HIDE_ON_CLOSE即点击关闭时隐藏界面. jFrame.setBounds(0,0,1200,1200); //设置框架的大小 jFrame.setVisi

  • Java中instanceof关键字实例讲解

    目录 1.向上转型 向下转型 2.强制类型转换的应用 3.instanceof 关键字使用 4.测试举例 5.强制类型转换成功总结 1.向上转型 向下转型 2.强制类型转换的应用 应用多态性时由于引用为父类类型,导致编译时只能调用父类中声明的属性和方法.子类特有的属性和方法不能调用.因此可将父类引用强制转换为子类引用,则可调用子类特有方法. class Animal { public void shout() { System.out.println("Animal is shouting &q

  • Java中的观察者模式实例讲解

    观察者模式是一种行为设计模式.观察者模式的用途是,当你对一个对象的状态感兴趣,希望在它每次发生变化时获得通知.在观察者模式中,观察另外一个对象状态的对象叫做Observer观察者,被观察的对象叫着Subject被观察者.根据GoF规则,观察者模式的意图是: 复制代码 代码如下: 定义对象之间一对多的依赖关系,一个对象状态改变,其他相关联的对象就会得到通知并被自动更新. Subject(被观察者)包含了一些需要在其状态改变时通知的观察者.因此,他应该提供给观察者可以register(注册)自己和u

  • java求两个数中的大数(实例讲解)

    java中的max函数在Math中 应用如下: int a=34: int b=45: int ans=Math.max(34,45); 那么ans的值就是45. 以上这篇java求两个数中的大数(实例讲解)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们.

  • Java实现Web应用中的定时任务(实例讲解)

    定时任务,是指定一个未来的时间范围执行一定任务的功能.在当前WEB应用中,多数应用都具备任务调度功能,针对不同的语音,不同的操作系统, 都有其自己的语法及解决方案,windows操作系统把它叫做任务计划,linux中cron服务都提供了这个功能,在我们开发业务系统中很多时候会涉及到这个功能.本场chat将使用java语言完成日常开发工作中常用定时任务的使用,希望给大家工作及学习带来帮助. 一.定时任务场景 (1)驱动处理工作流程 作为一个新的预支付订单被初始化放置,如果该订单在指定时间内未进行支

  • celery在python爬虫中定时操作实例讲解

    使用定时功能对于我们想要快速获取某个数据来说,是一个非常好的方法.这样我们就不用苦苦守在电脑屏幕前,只为蹲到某个想要的东西.在之前我们已经讲过time函数进行定时操作,这算是time函数的比较基础的一个用法了.其实定时功能同样可以用celery实现,具体的方法我们往下看: 爬虫由于其特殊性,可能需要定时做增量抓取,也可能需要定时做模拟登陆,以防止cookie过期,而celery恰恰就实现了定时任务的功能.在上述基础上,我们将`tasks.py`文件改成如下内容 from celery impor

  • php中Workerman框架实例讲解

    在我们探讨php框架的开发时,更多的是偏向于理论的框架.那么本篇要讲的Workerman框架,与其他的框架有很大的不同,可以广泛的应用在生活中.我们平时所用到的软件,也许正是Workerman开发出来的.下面我们就php中Workerman框架的概念.与其他框架区别带来讲解. 1.概念 Workerman是一款纯PHP开发的开源高性能的PHP socket 服务器框架.被广泛的用于手机app.移动通讯,微信小程序,手游服务端.网络游戏.PHP聊天室.硬件通讯.智能家居.车联网.物联网等领域的开发

  • Redis解决库存超卖问题实例讲解

    商品和订单服务间使用MQ 商品服务的库存变化时,通过 MQ 通知订单服务库存变化. 原始的同步流程 查询商品信息 (调用商品服务) 计算总价(生成订单详情) 商品服务扣库存(调用商品服务) 订单入库( 生成订单) // 原始的MySQL同步流程 // 判断此代金券是否加入抢购 SeckillVouchers seckillVouchers = seckillVouchersMapper.selectVoucher(voucherId); AssertUtil.isTrue(seckillVouc

  • Java调用R语言实例讲解

    R是统计计算的强大工具,JAVA是做应用系统的主流语言.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的系统. 一.Rserve(远程通信模式) Rserve是一个基于TCP/IP的服务器,通过二进制协议传输数据,可以提供远程连接,使得客户端语言能够调用R. Rserve作为一个package发布在CRAN上,可以直接使用install.packages("Rserve")进行安装.需要使用时在R控制台下加载该包,然后输入命令Rserve(),开启服务器就可以供

随机推荐