欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡單了解redis常見客戶端及Sharding機制原理

 更新時間:2020年09月27日 10:25:10   作者:愛笑的berg  
這篇文章主要介紹了簡單了解redis常見客戶端及Sharding機制原理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1、redis的幾種常見客戶端:

Jedis:是Redis的Java實現(xiàn)客戶端,提供了比較全面的Redis命令的支持;

Redisson:實現(xiàn)了分布式和可擴展的Java數(shù)據結構。

Lettuce:高級Redis客戶端,用于線程安全同步,異步和響應使用,支持集群,Sentinel,管道和編碼器。

1)優(yōu)點:

  •   Jedis:比較全面的提供了Redis的操作特性
  •   Redisson:促使使用者對Redis的關注分離,提供很多分布式相關操作服務,例如,分布式鎖,分布式集合,可通過Redis支持延遲隊列
  •   Lettuce:主要在一些分布式緩存框架上使用比較多

2)可伸縮:

  • Jedis:使用阻塞的I/O,且其方法調用都是同步的,程序流需要等到sockets處理完I/O才能執(zhí)行,不支持異步。Jedis客戶端實例不是線程安全的,所以需要通過連接池來使用Jedis。
  • Redisson:基于Netty框架的事件驅動的通信層,其方法調用是異步的。Redisson的API是線程安全的,所以可以操作單個Redisson連接來完成各種操作
  • Lettuce:基于Netty框架的事件驅動的通信層,其方法調用是異步的。Lettuce的API是線程安全的,所以可以操作單個Lettuce連接來完成各種操作

2、redis的Sharding機制與技術:

1) Sharding機制:即通常所說的“分片”,允許數(shù)據存放在不同的物理機器上,以適應數(shù)據量過大的場景,克服單臺機器內存或者磁盤空間的限制。

而這種“離散式”地存放,對客戶端來說是透明的,對客戶端來講,完全看不到這種差別。

2) Redis的分片(Sharding或者Partitioning)技術:是指將數(shù)據分散到多個Redis實例中的方法,分片之后,每個redis擁有一部分原數(shù)據集的子集。

在數(shù)據量非常大時,這種技術能夠將數(shù)據量分散到若干主機的redis實例上,進而減輕單臺redis實例的壓力。分片技術能夠以更易擴展的方式使用多臺計算機的存儲能力(這里主要指內存的存儲能力)和計算能力:

a.從存儲能力的角度,分片技術通過使用多臺計算機的內存來承擔更大量的數(shù)據,如果沒有分片技術,那么redis的存儲能力將受限于單臺主機的內存大小。

b.從計算能力的角度,分片技術通過將計算任務分散到多核或者多臺主機中,能夠充分利用多核、多臺主機的計算能力。

3、緩存客戶端與服務器:

  • redis是開源的緩存軟件,jedis是java連接redis的客戶端jar包
  • zedis是sn在redis 2.8版本上進行修改定制的緩存服務器軟件
  • sedis是sn在jedis版本上定制的緩存客戶端軟件

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java實現(xiàn)克隆的三種方式實例總結

    Java實現(xiàn)克隆的三種方式實例總結

    這篇文章主要介紹了Java實現(xiàn)克隆的三種方式,結合實例形式總結分析了java淺復制、深復制以及使用serializable實現(xiàn)深復制的相關操作技巧,需要的朋友可以參考下
    2018-08-08
  • IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?2021.3?使用及idea2021.3.1激活使用方法

    IDEA?全稱?IntelliJ?IDEA,是java語言開發(fā)的集成環(huán)境,IntelliJ在業(yè)界被公認為最好的java開發(fā)工具之一,今天通過本文給大家介紹idea2021.3.1激活及使用教程,感興趣的朋友一起看看吧
    2022-01-01
  • Java在Linux下 不能處理圖形的解決辦法 分享

    Java在Linux下 不能處理圖形的解決辦法 分享

    Java在Linux下 不能處理圖形的解決辦法 分享,需要的朋友可以參考一下
    2013-06-06
  • JVM創(chuàng)建對象及訪問定位過程詳解

    JVM創(chuàng)建對象及訪問定位過程詳解

    這篇文章主要介紹了JVM創(chuàng)建對象及訪問定位過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-12-12
  • 詳解Mybatis中的 ${} 和 #{}區(qū)別與用法

    詳解Mybatis中的 ${} 和 #{}區(qū)別與用法

    這篇文章主要介紹了Mybatis中的 ${} 和 #{}區(qū)別與用法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Lombok的@Data等注解無效的解決

    Lombok的@Data等注解無效的解決

    這篇文章主要介紹了Lombok的@Data等注解無效的解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 使用maven插件對java工程進行打包過程解析

    使用maven插件對java工程進行打包過程解析

    這篇文章主要介紹了使用maven插件對java工程進行打包過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-08-08
  • 2020.2 IntelliJ IDEA激活與IDEA2020.2破解詳細教程

    2020.2 IntelliJ IDEA激活與IDEA2020.2破解詳細教程

    這篇文章主要介紹了2020.2 IntelliJ IDEA激活與IDEA2020.2破解,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-08-08
  • Mac安裝多個JDK并實現(xiàn)動態(tài)切換

    Mac安裝多個JDK并實現(xiàn)動態(tài)切換

    有時候我們有多個項目需要使用多個版本JDK,本文主要介紹了Mac安裝多個JDK并實現(xiàn)動態(tài)切換,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • @RequestBody的使用案例代碼

    @RequestBody的使用案例代碼

    @RequestBody主要用來接收前端傳遞給后端的json字符串中的數(shù)據的,這篇文章主要介紹了@RequestBody的使用,本文結合實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-02-02

最新評論