Jedis 和 Redisson 都是Java中对Redis操作的封装。Jedis 只是简单的封装了 Redis 的API库,可以看作是Redis客户端,它的方法和Redis 的命令很类似。Redisson 不仅封装了 redis ,还封装了对更多数据结构的支持,以及锁等功能,相比于Jedis 更加大。但Jedis相比于Redisson 更原生一些,更灵活。

Redis官方对Java 语言的封装框架推荐的有十多种(Redis 官网),主要是Jedis 、Redisson。

Jedis

Jedis 是Java 实现的Redis 客户端,它的API提供了全面的类似于Redis 原生命令的支持。相比于其他Redis 封装框架更加原生。

它的使用主要是使用JedisPool

初始化:

// 创建JedisPool所需的连接池配置
JedisPoolConfig poolConfig = new JedisPoolConfig(); // 最大连接数,默认8
poolConfig.setMaxTotal(1024); // 最大空闲数,默认8
poolConfig.setMaxIdle(100); // poolConfig 各种配置 /// 是否启用pool的jmx管理功能, 默认true
poolConfig.setJmxEnabled(true); // 创建JedisPool连接池
jedisPool = new JedisPool(poolConfig, HOST, PORT, TIMEOUT, PASSWORD);

简单使用的demo:

/**
* 同步获取Jedis
* @return
*/
public synchronized static Jedis getJedis(){ if(jedisPool != null){
//获取Jedis对象
Jedis jedis = jedisPool.getResource();
return jedis;
}
return null;
} /**
* 释放jedis资源
*/
public static void releaseResource(Jedis jedis){
if( jedis !=null ){
jedis.close();
}
}

Redisson

Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid)。它不仅提供了一系列的分布式的Java常用对象,还提供了许多分布式服务。其中包括Bitset, Set, MultiMap, SortedSet, Map, List, Queue, BlockingQueue, Deque, BlockingDeque, Semaphore, Lock, AtomicLong, CountDownLatch, Publish/Subscribe, Bloom filter, Remote service, Spring cache, Executor service, Live Object service, Scheduler service。Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。(参考)

简单使用的代码demo:

//创建配置
Config config = new Config(); //指定编码,默认编码为org.redisson.codec.JsonJacksonCodec
config.setCodec(new org.redisson.client.codec.StringCodec()); //指定使用单节点部署方式
config.useSingleServer().setAddress("redis://127.0.0.1:6379"); config.useSingleServer().setClientName("root");
config.useSingleServer().setPassword("abcabc"); //创建redisson客户端
RedissonClient redisson = Redisson.create(config); RBucket<String> keyObject = redisson.getBucket("key");
keyObject.set("value"); //关闭RedissonClient
redisson.shutdown();

jedis 和 redisson 有哪些区别?的更多相关文章

  1. Jedis与Redisson选型对比

    1 概述 1.1.       主要内容 本文的主要内容为对比Redis的两个框架:Jedis与Redisson,分析各自的优势与缺点,为无线云管理项目中Redis编程模型的选择提供参考. 2.    ...

  2. Redis(六):java里常用的redis客户端(Jedis和Redisson)

    Redis的各种语言客户端列表,请参见Redis Client.其中Java客户端在github上start最高的是Jedis和Redisson.Jedis提供了完整Redis命令,而Redisson ...

  3. spring 5.x 系列第8篇 —— 整合Redis客户端 Jedis和Redisson (代码配置方式)

    文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件和其映射类 2.2 ...

  4. spring 5.x 系列第7篇 —— 整合Redis客户端 Jedis和Redisson (xml配置方式)

    文章目录 一.说明 1.1 Redis 客户端说明 1.2 Redis可视化软件 1.3 项目结构说明 1.3 依赖说明 二.spring 整合 jedis 2.1 新建基本配置文件 2.2 单机配置 ...

  5. Redis的各种实现(Jedis、Redisson、Lettuce)

    1.1.Jedis 是Redis的Java实现的客户端.支持基本的数据类型如:String.Hash.List.Set.Sorted Set. 特点:使用阻塞的I/O,方法调用同步,程序流需要等到so ...

  6. Jedis 与 Redisson 对比有什么优缺点?

    Jedis 是 Redis 的 Java 实现的客户端,其 API 提供了比较全面的 Redis 命令 的支持:Redisson 实现了分布式和可扩展的 Java 数据结构,和 Jedis 相比,功能 ...

  7. Java相关面试题总结

    本文分为十九个模块,分别是: Java 基础.容器.多线程.反射.对象拷贝.Java Web .异常.网络.设计模式.Spring/Spring MVC.Spring Boot/Spring Clou ...

  8. Java 最常见的 200+ 面试题汇总

    这份面试清单是我从 2015 年做 TeamLeader 之后开始收集的,一方面是给公司招聘用,另一方面是想用它来挖掘我在 Java 技术栈中的技术盲点,然后修复和完善它,以此来提高自己的技术水平.虽 ...

  9. 208道面试题(JVM部分暂无答案)

    这是从网上看到的一套java面试题, 答案只是一个大概, 另外题目质量参差不齐, 斟酌参考(JVM的部分暂时没有答案) 一.Java 基础 JDK 和 JRE 有什么区别? 答: JDK(Java D ...

随机推荐

  1. transient关键字有何作用

    使用对象流保存对象时,将对象的全部信息都保存了,但是有些信息是不希望保存,如密码,该如何避免该信息的保存? 使用transient关键字修饰的属性,在保存对象时,该属性并不会被保存. transien ...

  2. PhpStudy集成环境安装教程

    地址:https://www.xp.cn/ 下载软件,直接安装即可.注意路径不能带有空格.安装完成,启动后如下图: 1.数据库的小白操作:先启动服务器Apache和数据库MySQL,如箭头所示 2.可 ...

  3. kali各工具使用介绍

    各工具kali官方简介(竖排):https://tools.kali.org/tools-listing 安装kali虚拟机可参考:https://www.cnblogs.com/lsdb/p/650 ...

  4. [error]ModuleNotFoundError: No module named 'MySQLdb'

    错误详情(错误详情如标题,图是网上找的): 解决方法: 在项目目录下 settings.py 的同级目录中的 __init__.py 中加入如下代码: import pymysql ​ pymysql ...

  5. Oracle的用户权限和角色

    用户和权限 LOCK|UNLOCK创建用户时是否锁定,默认为锁定状态.锁定的用户无法正常的登录进行数据库操作. --给普通用户SCOTT解锁,同时把SCOTT用户的密码进行修改 --语法结构:ALTE ...

  6. Weblogic补丁升级问题

    转至:https://blog.csdn.net/weixin_44659716/article/details/105132466 一.版本信息1)中间件版本 Weblogic10.3.6.02) ...

  7. 微信小程序里实现跑马灯效果

    在微信小程序 里实现跑马灯效果,类似滚动字幕或者滚动广告之类的,使用简单的CSS样式控制,没用到JS wxml: <!-- 复制的跑马灯效果 --> <view class=&quo ...

  8. 列表视图ListView

    依然是一个listView的Java文件 1 public class ListViewActivity extends Activity { 2 private ListView lv1; 3 @O ...

  9. Python:获取某一月的天数

    import calendarcalendar.monthlen(2021,6)30calendar.monthrange(2021,6)(1, 30) calendar.monthrange( ye ...

  10. python如何data格式和时间戳的转换

    Python 获取几天前的时间 计算几天前并转换为指定格式. import time import datetime # 先获得时间数组格式的日期 threeDayAgo = (datetime.da ...