最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java Redis Template批量查詢指定鍵值對的實現(xiàn)

 更新時間:2022年07月12日 10:24:29   作者:大腦補丁  
本文主要介紹了Java Redis Template批量查詢指定鍵值對的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一.Redis使用pipeline批量查詢所有鍵值對

一次性獲取所有鍵值對的方式:

private RedisTemplate redisTemplate;

@SuppressWarnings({ "rawtypes", "unchecked" })
?? ?public List executePipelined(Collection<String> keySet) {
?? ??? ?return redisTemplate.executePipelined(new SessionCallback<Object>() {
?? ??? ??? ?@Override
?? ??? ??? ?public <K, V> Object execute(RedisOperations<K, V> operations) throws DataAccessException {
?? ??? ??? ??? ?HashOperations hashOperations = operations.opsForHash();
?? ??? ??? ??? ?for (String key : keySet) {
?? ??? ??? ??? ??? ?hashOperations.entries(key);
?? ??? ??? ??? ?}
?? ??? ??? ??? ?return null;
?? ??? ??? ?}
?? ??? ?});
?? ?}

說明: 上面的方法,可以將多個Redis 哈希表一次性取出,只有一次IO的時間。但也有個缺點,當(dāng)哈希表中有個鍵值對中的內(nèi)容特別長的時候,效率明顯下降。如果我們根本不需要這個鍵值對,但每次都要將它取出,會大大浪費性能,解決方案就是第二種方式。

二.批量獲取指定的鍵值對列表

/**
?? ? * 獲取批量keys對應(yīng)的列表中,指定的hash鍵值對列表
?? ? * @param keys redis 鍵
?? ? * @param hashKeys 哈希表鍵的集合(你需要獲取的那些鍵)
?? ? * @return
?? ? */
?? ?@SuppressWarnings("unchecked")
?? ?public List<Map<String, String>> getSelectiveHashsList(List<String> keys, List<String> hashKeys) {
?? ??? ?List<Map<String, String>> hashList = new ArrayList<Map<String, String>>();
?? ??? ?List<List<String>> pipelinedList = redisTemplate.executePipelined(new RedisCallback<Object>() {
?? ??? ??? ?@Override
?? ??? ??? ?public Object doInRedis(RedisConnection connection) throws DataAccessException {
?? ??? ??? ??? ?StringRedisConnection stringRedisConnection = (StringRedisConnection) connection;
?? ??? ??? ??? ?for (String key : keys) {
?? ??? ??? ??? ??? ?stringRedisConnection.hMGet(key, hashKeys.toArray(new String[hashKeys.size()]));
?? ??? ??? ??? ?}
?? ??? ??? ??? ?return null;
?? ??? ??? ?}

?? ??? ?});
?? ??? ?for (List<String> hashValueList : pipelinedList) {
?? ??? ??? ?Map<String, String> map = new LinkedHashMap<String, String>();
?? ??? ??? ?for (int i = 0; i < hashValueList.size(); i++) {
?? ??? ??? ??? ?map.put(hashKeys.get(i), hashValueList.get(i));
?? ??? ??? ?}
?? ??? ??? ?hashList.add(map);
?? ??? ?}
?? ??? ?return hashList;
?? ?}

使用示例:

可以批量取出你想要的人物屬性:

調(diào)用上述方法示例:

"tom","jack"是你想要操作的表;"name","age"是你想要獲取的屬性,想要幾個屬性,寫幾個,提升請求速度。

getSelectiveHashsList(Arrays.asList("tom","jack"),Arrays.asList("name","age"));

到此這篇關(guān)于Java Redis Template批量查詢指定鍵值對的實現(xiàn)的文章就介紹到這了,更多相關(guān)Java Redis Template批量查詢指定鍵值對內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java8新特性:lambda表達(dá)式總結(jié)

    Java8新特性:lambda表達(dá)式總結(jié)

    這篇文章主要介紹了Java8新特性:lambda表達(dá)式總結(jié),本文總結(jié)了多種語法格式和使用方法,包含了函數(shù)式接口和內(nèi)置的四大核心函數(shù)式接口的用法實例,需要的朋友可以參考下
    2021-06-06
  • Java使用RedisTemplate如何根據(jù)前綴獲取key列表

    Java使用RedisTemplate如何根據(jù)前綴獲取key列表

    這篇文章主要介紹了Java使用RedisTemplate如何根據(jù)前綴獲取key列表,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • 強烈推薦MyBatis?三種批量插入方式的比較

    強烈推薦MyBatis?三種批量插入方式的比較

    這篇文章主要介紹了強烈推薦MyBatis?三種批量插入方式的比較,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • 關(guān)于druid連接池的使用詳解

    關(guān)于druid連接池的使用詳解

    文章介紹了Druid連接池的兩種使用方式:直接在代碼中配置和通過配置文件配置,同時,文章詳細(xì)講解了如何在Web項目中啟用Druid的監(jiān)控功能,包括配置web.xml文件、設(shè)置過濾器等步驟,最后,文章還提到了Druid提供的加密解密工具,使數(shù)據(jù)庫密碼更安全
    2025-02-02
  • Mybatis Plus使用@TableId的示例詳解

    Mybatis Plus使用@TableId的示例詳解

    在 MyBatis Plus 中,@TableId 注解是用于標(biāo)記實體類中的主鍵字段,它可以更方便地處理主鍵相關(guān)的操作,如自動填充主鍵值或識別主鍵字段,這篇文章主要介紹了Mybatis Plus使用@TableId,需要的朋友可以參考下
    2024-08-08
  • java返回json請求中文變成問號的問題及解決

    java返回json請求中文變成問號的問題及解決

    這篇文章主要介紹了java返回json請求中文變成問號的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Java如何處理圖片保存之后變紅色的問題

    Java如何處理圖片保存之后變紅色的問題

    這篇文章主要介紹了Java如何處理圖片保存之后變紅色的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • Maven入門之使用Nexus搭建Maven私服及上傳下載jar包

    Maven入門之使用Nexus搭建Maven私服及上傳下載jar包

    這篇文章主要介紹了Maven入門之使用Nexus搭建Maven私服及上傳下載jar包,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • ZooKeeper官方文檔之Java案例解讀

    ZooKeeper官方文檔之Java案例解讀

    ZooKeeper官方提供了一個Java監(jiān)聽的例子,本文是我對該例子的學(xué)習(xí)筆記。可以做為幫助理解此例子的資料,有需要的朋友可以借鑒參考下
    2022-01-01
  • 詳解spring boot中使用JdbcTemplate

    詳解spring boot中使用JdbcTemplate

    JdbcTemplate 是在JDBC API基礎(chǔ)上提供了更抽象的封裝,并提供了基于方法注解的事務(wù)管理能力。 通過使用SpringBoot自動配置功能并代替我們自動配置beans,下面給大家介紹spring boot中使用JdbcTemplate相關(guān)知識,一起看看吧
    2017-04-04

最新評論

漠河县| 石河子市| 莎车县| 华容县| 朔州市| 崇义县| 宜兰市| 横山县| 普定县| 临沭县| 广宗县| 大厂| 满城县| 崇义县| 塘沽区| 类乌齐县| 富顺县| 安平县| 樟树市| 苗栗市| 南和县| 杭锦后旗| 江安县| 普洱| 宽甸| 泾川县| 东港市| 光泽县| 宿迁市| 新民市| 裕民县| 甘洛县| 洪江市| 睢宁县| 应用必备| 彭泽县| 昌平区| 陆河县| 烟台市| 额尔古纳市| 遂川县|