1. 程式人生 > >redis 儲存自定義java物件有幾種方式

redis 儲存自定義java物件有幾種方式

最近去面試,碰到面試官提問,如果要把一個自定義的java物件儲存到redis中,除了一般使用json和序列化之外,還有一種,可以配置redis的配置檔案,操作hash型別,直接使用HGETALL (或者其他操作hash的命令),取出來就會是一個java物件??

可以,其實物件無非就是一堆的鍵值對嘛,可以直接用redis裡面的map結構來儲存,每個屬性都是一個key.
程式碼就類似下面這樣.
Map<String, String> data = new HashMap<String , String();
jedis.hmset("product:1", data);

取出來的話就這樣:


Map<String, String> data = jedis.hgetAll(key);
再把這個map轉換成物件.
他說取出來直接就是java物件那是扯犢子

相關推薦

redis 儲存定義java物件方式

最近去面試,碰到面試官提問,如果要把一個自定義的java物件儲存到redis中,除了一般使用json和序列化之外,還有一種,可以配置redis的配置檔案,操作hash型別,直接使用HGETALL (或

使用HashSet儲存定義物件時為什麼要重寫equals和hashCode方法?

  在Java集合的運用中,HashSet抽象類實現了Set介面,我們可以通過HashSet儲存Java中定義過的類建立的物件,當然也可以儲存我們自定義的類建立的物件。   但是在儲存自定義類建立的物件時,就會遇到實際問題導致的漏洞;首先,我們分析一下HashSet類中ad

Redis 儲存定義的資料型別

Redis自帶的基本型別的操作可以自行查閱資料,網上可以輕易找到很多的相關的資料。 儲存自定義型別時需要進行序列化、反序列化。 1. Java示例程式碼 //定義需要儲存的資料 Student

js利用閉包封裝定義模塊的方法

暴露 使用 模塊化 function 一個 com 調用方法 urn ted 1.自定義模塊:   具有特定功能的js文件   將所有的數據和功能都封裝在一個函數的內部   只向外暴露一個包含有n個方法的對象或者函數   模塊使用者只需要通過模塊暴露的對象調用方法來

Java建立物件方式

Java建立物件的幾種方式(重要): (1) 用new語句建立物件,這是最常見的建立物件的方法。 (2) 運用反射手段,呼叫java.lang.Class或者java.lang.reflect.Constructor類的newInstance()例項方法。 (3) 呼叫物件的clone()方法。 (4) 運用

Java 反射獲取Class物件方式

Java 程式中獲得 Class 物件通常有如下三種方式: •使用 Class 的 forName() •呼叫某個類的 class 屬性 •呼叫某個物件的 getClass() 程式碼舉例: 內容解析: Class本身也是一個類,當JVM將使用者自定義的類載入進來之後

Java中建立物件方式

Java中建立物件的五種方式:   作為java開發者,我們每天建立很多物件,但是我們通常使用依賴注入的方式管理系統,比如:Spring去建立物件,然而這裡有很多建立物件的方法:使用New關鍵字、使用Class類的newInstance方法、使用Constructor類的newInstance方法、使用Cl

Java 建立物件方式

我們總是討論沒有物件就去new一個物件,建立物件的方式在我這裡變成了根深蒂固的new方式建立,但是其實建立物件的方式還是有很多種的,不單單有new方式建立物件,還有使用反射機制建立物件,使用clone方法去建立物件,通過序列化和反序列化的方式去建立物件。這裡就總

java方法可以實現一個執行緒?用什麼關鍵字修飾同步方法 stop()和suspend()方法為何不推薦使用?

java5以前,有兩種實現方法,分別使用new Thread()和new Thread(runnable)形式,第一種繼承Thread類,直接呼叫thread的run方法,所以,我們往往使用Thread子類,即new SubThread()。第二種是實現Runn

持久化redis方式

主要有兩種方式: ① 快照持久化 在redis配置檔案中已經自動開啟了, 格式是:save N M 表示在N秒之內,redis至少發生M次修改則redis抓快照到磁碟。 當然我們也可以手動執行save

JAVA構造物件方式(構建器、構造器)

大家好,我是烤鴨:    今天說一下初始化物件的幾種方式:        1.    多引數構造器        2.    構建器        3.    構造器後 + get/set方法舉個例子:    這裡有個機構entity,提供一個預設構造器package com

java型別的流

java中有兩種型別的流:位元組流(byte)和字元流(char)。 位元組流(byte):InputStream ,outputStream 字元流(char):InputStreamReader,outputStream 輸出流:outputStream outputS

java方法可以實現一個執行緒?用什麼關鍵字修飾同步方法? stop()和suspend()方法為何不推薦使用?

java5以前,有如下兩種: 第一種: new Thread(){}.start();這表示呼叫Thread子類物件的run方法,new Thread(){}表示一個Thread的匿名子類的例項物件,子類加上run方法後的程式碼如下: new Thread(){ publi

當阿里面試官問我:Java建立執行緒方式?我就知道問題沒那麼簡單

這是最新的大廠面試系列,還原真實場景,提煉出知識點分享給大家。 點贊再看,養成習慣~ 微信搜尋【武哥聊程式設計】,關注這個 Java 菜鳥。 昨天有個小夥伴去阿里面試實習生崗位,面試官問他了一個老生常談的問題:你說一說 Java 建立執行緒都有哪些方式? 這哥們心中竊喜,這個老生常談的問題早已背的滾瓜爛熟

JS中定義對象的方式

cnblogs turn 函數對象 屬性。 array fff 動態 pan 改進 在JavaScript中定義對象可以采用以下幾種方式:   1.基於已有對象擴充其屬性和方法   2.工廠方式   3.構造函數方式   4.原型(“prototype”)方式   5.動態

前端向後臺發送請求方式

發送請求 ajax nbsp a標簽 lin 請求 ram class img 1、 link標簽的href屬性 2、 script標簽的src屬性 3、 img標簽的src屬性 4、 ajax發送請求 5、 表單提交發送請求 6、 a標簽的href發送請求 7、 ifra

JavaScript獲取DOM物件方式

1.getElementById() 方法可返回對擁有指定 ID 的第一個物件的引用 2.getElementsByName() 方法可返回帶有指定名稱的物件的集合 3.getElementsByTagName() 方法可返回帶有指定標籤名的物件的集合 4.getElementsByClassName(

Vue指令v-for之遍歷陣列,json物件方式

定義資料:   <script>     new Vue({         el:"#test",         data:{      

ElasticSearch搜尋資料到底方式?

Elasticsearch允許三種方式執行搜尋請求: GET請求正文: curl -XGET "http://localhost:9200/app/users/_search" -d '{ "query": { "term": { "email": "[email prote

JavaScript高階程式設計學習筆記——建立物件方式

建立物件的幾種方式 工廠模式 function createPerson(name, age, job){ var o = new Object(); o.name = name; o.age = age; o.job =