您好,登錄后才能下訂單哦!
本篇內容主要講解“Redis怎么實現保存對象”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“Redis怎么實現保存對象”吧!
String
——字符串
Hash
——字典
List
——列表
Set
——集合
Sorted Set
——有序集合
redisTemplate.opsForValue();//操作字符串 redisTemplate.opsForHash();//操作hash redisTemplate.opsForList();//操作list redisTemplate.opsForSet();//操作set redisTemplate.opsForZSet();//操作有序set
RedisConfig.java
package com.wj.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.redis.connection.RedisConnectionFactory; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.serializer.GenericJackson2JsonRedisSerializer; import org.springframework.data.redis.serializer.StringRedisSerializer; @Configuration public class RedisConfig { @Bean public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) { RedisTemplate<String, Object> template = new RedisTemplate<String, Object>(); template.setConnectionFactory(redisConnectionFactory); template.setKeySerializer(new StringRedisSerializer()); template.setValueSerializer(new GenericJackson2JsonRedisSerializer()); template.setHashKeySerializer(new GenericJackson2JsonRedisSerializer()); template.setHashValueSerializer(new GenericJackson2JsonRedisSerializer()); template.afterPropertiesSet(); return template; } }
測試成功。
用戶id為查找的key
存儲的value用戶對象包括姓名,年齡,生日等等
如果用普通的key-value結構來存儲,主要有以下2種方式存儲
這種方式是使用list或者set這些來存儲的,這樣的方式其實也可以達到我們想要的效果,但是因為每次修改屬性都需要三步走,性能開銷非常大。1.先反序列化;2,修改;3.序列化
這種方式其實也有兩種寫法
寫法一:
這種寫法不僅能夠達成目標,而且解決了資源消耗過大的問題,但是也引起了另一個問題,就是用戶的id數據冗余
寫法二:
通過key(用戶id)+field(屬性標簽)可以操作對應屬性數據了,既不需要重復存儲數據,也不會帶來序列化和并修復操控的問題
到此,相信大家對“Redis怎么實現保存對象”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。