2013-04-13 36 views
2

我使用Spring的RedisTemplate與Redis進行交互。使用RedisTemplate存儲不同的數據(Spring)

目前我存儲Redis的數據使用OpsForHash操作,因爲這是最適合我存儲數據。

但現在我想添加不同的結構是關鍵的數據 - >列表

應該因此,我已經在我的每一個DAOS的RedisTemplate的不同實例(參數化的要求),但連接到同一個實例Redis的?那是對的嗎?還是應該有一個RedisTemplate的共享實例,我可以使用它來存儲散列結構化數據和列表結構化數據?如果是後者,當我受限於實例的參數化時,我該怎麼做?即目前我已經

密鑰(字符串) - >地圖

現在我想添加

密鑰(字符串) - >列表

這有可能使用單一RedisTemplate?

謝謝!

回答

4

由於密鑰類型爲String在這兩種情況下,你應該能夠使用RedisTemplate的同一個實例,假設你與你的列表值類型參數RedisTemplate。例如:

RedisTemplate<String, String> template; 
// Hash Key/Value types can be anything as long as the proper serializers are set 
HashOperations<String,String,Integer> hashOps = template.opsForHash(); 
hashOps.put("foo", "bar", 3); 
// List value types are taken from RedisTemplate parameterization 
ListOperations<String,String> listOps = template.opsForList(); 
listOps.leftPush("foolist", "bar"); 
+0

這是否真的有用嗎?如果我試圖給一個字符串類型添加一個列表,它說類型是不兼容的。與列表相同,以散列或散列到列表等。這是在redis cli中,但我無法想象這在春天會有所不同。 – doorfly

0

提供的第一個解決方案對我無效。但我沒有找到一個解決方案,並張貼作爲解決另一個問題

結帳這個答案https://stackoverflow.com/a/30484834/4671737

+0

這不是一個答案,它更像是一條評論。 –

+0

好吧,但我沒有聲望添加評論 - 第一個答案不起作用 –

相關問題