简单了解redis常见客户端及Sharding机制原理

网友投稿 268 2022-11-19


简单了解redis常见客户端及Sharding机制原理

1、redis的几种常见客户端:

Jedis:是Redis的java实现客户端,提供了比较全面的Redis命令的支持;

Redisson:实现了分布式和可扩展的Java数据结构。

Lettuce:高级RediNfXsvs客户端,用于线程安全同步,异步和响应使用,支持集群,Sentinel,管道和编码器。

1)优点:

Jedis:比较全面的提供了Redis的操作特性

  Redisson:促使使用者对Redis的关注分离,提供很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列

  Lettuce:主要在一些分布式缓存框架上使用比较多

2)可伸缩:

Jedis:使用阻塞的I/O,且其方法调用都是同步的,程序流需要等到sockets处理完I/O才能执行,不支持异步。Jedis客户端实例不是线程安全的,所以需要通过连接池来使用Jedis。

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

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

2、redis的Sharding机制与技术:

1) Sharding机制:即通常所说的“分片”,允许数据存放在不同的物理机器上,以适应数据量过大的场景,克服单台机器内存或者磁盘空间的限制。

而这种“离散式”地存放,对客户端来说是透明的,对客户端来讲,完全看不到这种差别。

2) Redis的分片(Sharding或者Partitioning)技术:是指将数据分散到多个Redis实例中的方法,分片之后,每个redis拥有一部分原数据集的子集。

在数据量非常大时,这种技术能够将数据量分散到若干主机的redis实例上,进而减轻单台redis实例的压力。分片技术能够以更易扩展的方式使用多台计算机的存储能力(这里主要指内存的存储能力)和计算能力:

a.从存储能力的角度,分片技术通过使用多台计算机的内存来承担更大量的数据,如果没有分片技术,那么redis的存储能力将受限于单台主机的内存大小。

b.从计算能力的角度,分片技术通过将计算任务分散到多核或者多台主机中,能够充分利用多核、多台主机的计算能力。

3、缓存客户端与服务器:

redis是开源的缓存软件,jedis是java连接redis的客户端jar包

zedis是sn在redis 2.8版本上进行修改定制的缓存服务器软件

sedis是sn在jedis版本上定制的缓存客户端软件


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:解决myBatis generator逆向生成没有根据主键的select,update和delete问题
下一篇:mybatis generator只能生成insert和selectAll的操作
相关文章

 发表评论

暂时没有评论,来抢沙发吧~