Redis 客户端

Posted by icoding168 on 2020-04-17 15:23:06

分类: Redis  

所有主流的编程语言都有 Redis 的客户端,首先是因为 Redis 客户端与服务端之间的通信协议是基于 TCP 的,TCP 本身就非常流行,其次是因为 Redis 制定了 一个简单高效的序列化协议 RESP(Redis Serialization Protocol),RESP 既容易被机器解析,又容易被人类识别。

Java 有很多 Redis 客户端,比如 Jedis、Redisson 等。

Jedis

优点

  • 提供了比较全面的 Redis 操作特性的 API
  • API 基本与 Redis 的指令一一对应,使用简单易理解

缺点

  • 同步阻塞 IO,不支持异步,需要通过连接池来使用 Jedis,线程不安全

Redisson

优点

  • 基于 Netty 框架的事件驱动的通信,可异步调用,线程安全
  • 不仅支持对常用数据类型的操作,还支持排序、事务、管道、分区等 Redis 特性
  • 支持 Redis 单节点(single)模式、哨兵(sentinel)模式、主从(Master/Slave)模式以及集群(Redis Cluster)模式,适合分布式开发

缺点

  • API 更抽象,学习使用成本高