Jedis 和 Redisson 都是Java中对Redis操做的封装。Jedis 只是简单的封装了 Redis 的API库,能够看做是Redis客户端,它的方法和Redis 的命令很相似。Redisson 不只封装了 redis ,还封装了对更多数据结构的支持,以及锁等功能,相比于Jedis 更加大。但Jedis相比于Redisson 更原生一些,更灵活。redis
Redis官方对Java 语言的封装框架推荐的有十多种(Redis 官网),主要是Jedis 、Redisson。数据结构
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:spa
/** * 同步获取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是一个在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),从而让使用者可以将精力更集中地放在处理业务逻辑上。(参考)code
简单使用的代码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();