redis 客户端的选择

redis 客户端的选择,第1张

redis 客户端的选择

redis 客户端的选择
  • 选型:
    • jedis
    • redission
      • 特性
    • luttuce

选型: jedis

在线网址:http://tool.oschina.net/uploads/apidocs/redis/clients/jedis/Jedis.html

比较全面的提供了Redis的 *** 作特性,使用阻塞的I/O,且其方法调用都是同步的,程序流需要等到sockets处理完I/O才能执行,不支持异步。
Jedis客户端实例不是线程安全的,所以需要通过连接池来使用Jedis。
不支持lua脚本

redission

redisson 官网地址:https://redisson.org/
基于Netty框架的事件驱动的通信层,其方法调用是异步的。Redisson的API是线程安全的,所以可以 *** 作单个Redisson连接来完成各种 *** 作;
提供很多分布式相关 *** 作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列;
实现了分布式和可扩展的Java数据结构,和Jedis相比,功能较为简单,不支持字符串 *** 作,不支持排序、事务、管道、分区等Redis特性。
Redisson的宗旨是促进使用者对Redis的关注分离,从而让使用者能够将精力更集中地放在处理业务逻辑上。redis官方推荐使用的Redisson就提供了分布式锁和相关分布式服务。其中包括(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的最简单和最便捷的方法。

特性

复制的Redis服务器模式(还支持AWS ElastiCache和Azure Redis缓存):
自动主服务器更改发现
群集Redis服务器模式(还支持AWS ElastiCache和Azure Redis缓存:
自动主从服务器发现
自动状态和拓扑更新
自动插槽更改发现
Sentinel Redis服务器模式:
自动主,从和服务器发现
自动状态和拓扑更新
掌握Slave Redis服务器模式
单Redis服务器模式
线程安全的实现
Reactive Streams API
异步 API
异步连接池
Lua脚本
分布式Java对象
Object holder,Binary stream holder,Geospatial holder,BitSet,AtomicLong,AtomicDouble,PublishSubscribe,Bloom filter,HyperLogLog
分布式Java集合
Map,Multimap,Set,List,SortedSet,ScoredSortedSet,LexSortedSet,Queue,Deque,Blocking Queue,Bounded Blocking Queue,Blocking Deque,Delayed Queue,Priority Queue,Priority Deque
分布式Java锁和同步器
Lock,FairLock,MultiLock,RedLock,ReadWriteLock,Semaphore,PermitExpirableSemaphore,CountDownLatch
分布式服务
远程服务,Live Object服务,Executor服务,Scheduler服务,MapReduce服务
Spring框架
Spring Cache实现

  • Spring Transaction API实现
    Spring Data Redis集成
    Spring Boot Starter实现
    Hibernate Cache实现
    Transactions API
  • XA Transaction API实现
    JCache API(JSR-107)实现
    Tomcat会话管理器实现
    Spring Session实现
    Redis流水线(命令批处理)
    支持Android平台
    支持自动重新连接
    支持无法发送命令自动重试
    支持OSGi
    支持SSL
    支持许多流行的编解码器(Jackson JSON,Avro,Smile,CBOR,MsgPack,Kryo,Amazon Ion,FST,LZ4,Snappy和JDK Serialization)
    超过1800个单元测试
luttuce

官网地址:https://lettuce.io/

基于Netty框架的事件驱动的通信层,其方法调用是异步的。Lettuce的API是线程安全的,所以可以 *** 作单个Lettuce连接来完成各种 *** 作

总结:Redisson + Lettuce 结合使用

  1. 在spring boot2之后,对redis连接的支持,默认就采用了lettuce。这就一定程度说明了lettuce 和Jedis的优劣。
  2. redis官方推荐使用的Redisson就提供了分布式锁和相关服务。
  3. 支持字符串 *** 作,支持排序、事务、管道、分区等Redis特性时,用lettuce

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4998932.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-14
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存