1. 程式人生 > >Java實現Redis的雜湊(Hash)命令

Java實現Redis的雜湊(Hash)命令

本編文章知識簡單的實現了redis 的增刪改查,指令不是很全還請大家見諒

package com.huadian.Hash;

import com.huadian.redisUntil.JedisPoolUntil;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

import java.util.HashMap;
import java.util.Map;

public class HashDemo {
    private Jedis jedis = null;
    @Before
    public void fun(){
         jedis = JedisPoolUntil.getJedis();
    }

    /**
     * Redis Hset 命令用於為雜湊表中的欄位賦值 。

     如果雜湊表不存在,一個新的雜湊表被建立並進行 HSET 操作。

     如果欄位已經存在於雜湊表中,舊值將被覆蓋。

     redis 127.0.0.1:6379> HSET KEY_NAME FIELD VALUE
     */
    @Test
    public void add(){
        Long hset = jedis.hset("user", "name", "王二");
        System.out.println(hset);
    }

    /**
     * Redis Hmset 命令用於同時將多個 field-value (欄位-值)對設定到雜湊表中。

     此命令會覆蓋雜湊表中已存在的欄位。

     如果雜湊表不存在,會建立一個空雜湊表,並執行 HMSET 操作。

     redis 127.0.0.1:6379> HMSET KEY_NAME FIELD1 VALUE1 ...FIELDN VALUEN
     */
    @Test
    public void addMore(){
        Map<String ,String>map = new HashMap<>();
        map.put("name","cpf");
        map.put("position","java");
        map.put("salary","100");
        String student = jedis.hmset("student", map);
        System.out.println(student);
    }

    /**
     * Redis Hdel 命令用於刪除雜湊表 key 中的一個或多個指定欄位,不存在的欄位將被忽略。
     *
     * redis 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN
     */
    @Test
    public void del(){
        Long student = jedis.del("student");
        System.out.println(student);
    }

    /**
     * Redis Hdel 命令用於刪除雜湊表 key 中的一個或多個指定欄位,不存在的欄位將被忽略。
     *
     * redis 127.0.0.1:6379> HDEL KEY_NAME FIELD1.. FIELDN
     */
    @Test
    public void del1(){
        Long student = jedis.hdel("student","salary","age");
        System.out.println(student);
    }


    /**
     * Redis Hincrbyfloat 命令用於為雜湊表中的欄位值加上指定浮點數增量值。

     如果指定的欄位不存在,那麼在執行命令前,欄位的值被初始化為 0 。

     redis 127.0.0.1:6379> HINCRBYFLOAT KEY_NAME FIELD_NAME INCR_BY_NUMBER
     */
    @Test
    public void modify(){
        Long aLong = jedis.hincrBy("student", "salary", 100);
        Double aDouble = jedis.hincrByFloat("student", "salary", 100);
        System.out.println(aDouble);
    }

    /**
     * Redis Hget 命令用於返回雜湊表中指定欄位的值。
     *
     * redis 127.0.0.1:6379> HGET KEY_NAME FIELD_NAME 
     */
    @Test
    public void getMore(){
        String hget = jedis.hget("student", "salary");
        System.out.println(hget);
    }

    @After
    public void fun1(){
        jedis = JedisPoolUntil.getJedis();
    }
}

相關推薦

Java實現RedisHash命令

本編文章知識簡單的實現了redis 的增刪改查,指令不是很全還請大家見諒 package com.huadian.Hash; import com.huadian.redisUntil.JedisPoolUntil; import org.junit.After; i

Java實現Redis的集合set命令

下面測試redis的集合set的型別,註釋裡面的程式碼是linux中redis命令 package com.huadian.set; import com.huadian.redisUntil.JedisPoolUntil; import org.junit.Befo

Hash資料結構,使用C語言實現s。傻瓜也能

雜湊資料結構是一種非常簡單,實用的資料結構。原理是將資料通過一定的hash函式規則,然後儲存起來。使查詢的時間複雜度近似於O(1)。進而大大節省了程式的執行時間。 雜湊表的原理如圖 原來的資料可以直接通過雜湊函式儲存起來,這樣在搜尋的時候,等於每一個數據都有了自己的特定查詢號碼,

Redis儲存結構之Hash

實用場景:分散式鎖 Redis雜湊/雜湊(Hashes)是鍵值對的集合。Redis雜湊/雜湊是字串欄位和字串值之間的對映。 因此,它們用於表示物件。 HDEL HEXISTS HGET HGETALL HINCRBY HINCRBYFLOAT HKEY

Redis入門【七】---------Hash

前言 Redis的雜湊可以讓使用者將多個鍵值對存到一個redis鍵裡面,從功能來說,redis為雜湊值提供了一些與字串值相同特性,使得雜湊非常適合將一些相關的資料儲存到一起。 【1】新增和刪除鍵

ruby 物件轉換Hash

通過 ActiveRecord 從資料庫的某張資料表(table)中獲取的物件如何轉換成為 Hash orders_table 是一張訂單資訊表,對應的 model 為 Orders @order = Orders.first 最簡單的方法,獲取一條 orders 表中的一條資料。 方法一: 使用原

字元hash

字串hash的核心思想與整數hash是一致的,將字串對映成為一個整數唯一表示。 假設字串只由A~Z組成,將A~Z看做0-25,這樣就轉化成了一個26進位制數,再將這個26進位制數轉化為10進位制數,則每個字串都能用一個整數唯一表示。 程式碼如下: in

【18.10.22】Hash函式

雜湊資料結構是一種非常簡單,實用的資料結構。原理是將資料通過一定的hash函式規則,然後儲存起來。使查詢的時間複雜度近似於O(1)。進而大大節省了程式的執行時間。 雜湊表的原理如圖 原來的資料可以直接通過雜湊函式儲存起來,這樣在搜尋的時候,等於每一個數據都有了自

【演算法筆記】hash總結

有兩天沒寫部落格了,前兩天刷完了PAT甲級中的雜湊的題目,做一個小小的總結。 雜湊的定義: 將元素通過一個函式轉化成一個整數,使得該整數能夠儘量唯一地代表這個元素。 最常用的雜湊: 對於數字而言,H(key) = key,最常見的用法是某個數字直接作為對於陣列的下標。

雷林鵬分享:Ruby Hash

  Ruby 雜湊(Hash)   雜湊(Hash)是類似 "employee" => "salary" 這樣的鍵值對的集合。雜湊的索引是通過任何物件型別的任意鍵來完成的,而不是一個整數索引,其他與陣列相似。   通過鍵或值遍歷雜湊的順序看起來是隨意的,且通常不是按照插入順序。如果您嘗試通過一個不存

HTML頁面的hash路由原理+原生js案例

<!-- * 場景:不重新整理頁面,對頁面的區域性內容進行更改 *方案1:ajax 方法 *方案2:雜湊(hash)路由原理 *方案2講解:監聽瀏覽器的url中的hash(url的#後面的文字——錨文字)值,進行更改內容 --> <!DOCTYPE html

HashMap怎樣解決hash衝突?

常用兩種方法:連結串列法和開放定址法 1、連結串列法(chaining) 在雜湊表中,每一個桶(bucket)或者槽(slot)都會對應一條連結串列,所有雜湊值相同的元素放到相同槽位對應的連結串列中。 在插入的時候,我們可以通過雜湊函式計算出對應的雜湊槽位,將元素插入到對應

動態查詢之hash

一、介紹   與其他建立在“比較”基礎上的查詢演算法不同,雜湊表是通過雜湊函式將儲存位置與值得關鍵字建立一一對應關係,從而一般一次就能夠得到值。但是有時對於不同關鍵字雜湊後得到的地址會是相同的,稱這種現象為衝突。具有相同雜湊值的關鍵字稱為同義詞。 二、雜

2.8 ruby的資料結構--Hash

1、雜湊(Hash) 雜湊也是儲存物件的一個集合,雜湊裡面的元素是以"key" => “value”(鍵值對)這樣的形式存在的,元素是沒有順序的,雜湊的鍵可以是任意物件,鍵必須的唯一的,鍵通常用符號(Symbol)表示。 雜湊的建立有兩種形式,兩種形式都是一樣的,最常使用第

搜尋引擎中快取cache用到的hash演算法

前一段查看了關於雜湊的各種演算法,發現流傳最廣的還算偉大的暴雪(dota愛好者)工程師得到的一種演算法,有很多部落格中都有對其的介紹,我在此就不多廢話了。 雖說是借鑑,也只是一小部分的抄襲。不知道是否冒犯了暴雪的版權。 我修改成了我需要的功能,我的目標是對6w資料進行雜湊計

Hash演算法

一、什麼是 Hash 演算法 雜湊演算法(Hash Algorithm),又稱雜湊演算法,雜湊演算法,是一種從任意檔案中創造小的數字「指紋」的方法。與指紋一樣,雜湊演算法就是一種以較短的資訊來保證檔案唯一性的標誌,這種標誌與檔案的每一個位元組都相關,而且難以找到

基於Spring實現一致性consistent hasingredis快取

目前關於redis叢集方案,官方方案是Redis cluster,Redis3.0以後正式提供。大家可以瞭解下。 雖然官方方案都有,並且網上也有很多關於這方面的內容,為什麼還要自己造輪子。哈哈,程式設計師不久最喜歡造輪子。核心功能已經完成,但是會持續更新的

P3370 【模板】字串Hash詳解

題目連結 題意: 給定N個字串(第i個字串長度為Mi,字串內包含數字、大小寫字母,大小寫敏感),請求出N個字串中共有多少個不同的字串。 單hash——模數19260817(80分) #include<iostream> #include<al

JAVA實現EXCEL公式專題——字符串函數

main 問題 int start boolean java ... ringbuf out substring 直接上代碼:/** * 項目名稱: * 文件說明: ExCEL公式類型:字符串公式 * 主要特點: * 版本:1.0 * 制作人:劉晨曦

JAVA實現EXCEL公式專題——統計函數

length trace trac 復雜 manage 排列 public ram script 統計函數主要實現的是較為復雜的統計函數如countif、sumif、frequency,也是,直接上代碼/** * 項目名稱: * 文件說明: * 主要特點