亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

redis如何實(shí)現(xiàn)保存對(duì)象

 更新時(shí)間:2022年06月16日 14:32:15   作者:洛陽(yáng)紙貴  
這篇文章主要介紹了redis如何實(shí)現(xiàn)保存對(duì)象,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

redis保存對(duì)象

redis數(shù)據(jù)結(jié)構(gòu)

  • String——字符串
  • Hash——字典
  • List——列表
  • Set——集合
  • Sorted Set——有序集合
redisTemplate.opsForValue();//操作字符串
redisTemplate.opsForHash();//操作hash
redisTemplate.opsForList();//操作list
redisTemplate.opsForSet();//操作set
redisTemplate.opsForZSet();//操作有序set

保存對(duì)象

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;  
    }
} 

測(cè)試成功。

redis存放對(duì)象的兩種方式

數(shù)據(jù)格式

  • 用戶id為查找的key
  • 存儲(chǔ)的value用戶對(duì)象包括姓名,年齡,生日等等
  • 如果用普通的key-value結(jié)構(gòu)來(lái)存儲(chǔ),主要有以下2種方式存儲(chǔ)

方式一(String)

這種方式是使用list或者set這些來(lái)存儲(chǔ)的,這樣的方式其實(shí)也可以達(dá)到我們想要的效果,但是因?yàn)槊看涡薷膶傩远夹枰阶?,性能開(kāi)銷非常大。1.先反序列化;2,修改;3.序列化

方式二(hash)

這種方式其實(shí)也有兩種寫法

寫法一:

這種寫法不僅能夠達(dá)成目標(biāo),而且解決了資源消耗過(guò)大的問(wèn)題,但是也引起了另一個(gè)問(wèn)題,就是用戶的id數(shù)據(jù)冗余

寫法二:

通過(guò)key(用戶id)+field(屬性標(biāo)簽)可以操作對(duì)應(yīng)屬性數(shù)據(jù)了,既不需要重復(fù)存儲(chǔ)數(shù)據(jù),也不會(huì)帶來(lái)序列化和并修復(fù)操控的問(wèn)題

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 基于Redis實(shí)現(xiàn)阻塞隊(duì)列的方式

    基于Redis實(shí)現(xiàn)阻塞隊(duì)列的方式

    本文主要講解基于?Redis?的方式實(shí)現(xiàn)異步隊(duì)列,基于?Redis?的?list?實(shí)現(xiàn)隊(duì)列的方式也有多種,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),感興趣的朋友跟隨小編一起看看吧
    2021-12-12
  • redis-benchmark并發(fā)壓力測(cè)試的問(wèn)題解析

    redis-benchmark并發(fā)壓力測(cè)試的問(wèn)題解析

    這篇文章主要介紹了redis-benchmark并發(fā)壓力測(cè)試的問(wèn)題解析,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-01-01
  • win 7 安裝redis服務(wù)【筆記】

    win 7 安裝redis服務(wù)【筆記】

    Redis是一個(gè)開(kāi)源的使用ANSI C語(yǔ)言編寫、支持網(wǎng)絡(luò)、可基于內(nèi)存亦可持久化的日志型、Key-Value數(shù)據(jù)庫(kù),并提供多種語(yǔ)言的API。
    2016-05-05
  • Redis的Sentinel解決方案介紹與運(yùn)行機(jī)制

    Redis的Sentinel解決方案介紹與運(yùn)行機(jī)制

    這篇文章主要介紹了Redis的Sentinel解決方案介紹與運(yùn)行機(jī)制, Sentinel 是一款面向分布式服務(wù)架構(gòu)的輕量級(jí)流量控制組件,主要以流量為切入點(diǎn),從流量控制、熔斷降級(jí)、系統(tǒng)自適應(yīng)保護(hù)等多個(gè)維度來(lái)保障服務(wù)的穩(wěn)定性,需要的朋友可以參考下
    2023-07-07
  • redis緩存的簡(jiǎn)單操作(get、put)

    redis緩存的簡(jiǎn)單操作(get、put)

    這篇文章主要介紹了redis緩存的簡(jiǎn)單操作,包括引入jedisjar包、配置redis、RedisDao需要的一些工具等,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Redis上實(shí)現(xiàn)分布式鎖以提高性能的方案研究

    Redis上實(shí)現(xiàn)分布式鎖以提高性能的方案研究

    這篇文章主要介紹了Redis上實(shí)現(xiàn)分布式鎖以提高性能的方案研究,其中重點(diǎn)需要理解異步算法與鎖的自動(dòng)釋放,需要的朋友可以參考下
    2015-12-12
  • redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表

    redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表

    這篇文章主要介紹了redis數(shù)據(jù)結(jié)構(gòu)之壓縮列表,壓縮列表是列表list和hash數(shù)據(jù)結(jié)構(gòu)的底層實(shí)現(xiàn)之一,是redis為了節(jié)約內(nèi)存而開(kāi)發(fā)的,由一系列特殊編碼的連續(xù)內(nèi)存塊組成的順序型數(shù)據(jù)結(jié)構(gòu),下面詳細(xì)內(nèi)容需要的小伙伴可以參考一下
    2022-03-03
  • 使用redis實(shí)現(xiàn)延遲通知功能(Redis過(guò)期鍵通知)

    使用redis實(shí)現(xiàn)延遲通知功能(Redis過(guò)期鍵通知)

    這篇文章主要介紹了使用redis實(shí)現(xiàn)延遲通知功能(Redis過(guò)期鍵通知)的相關(guān)知識(shí),本文通過(guò)實(shí)例代碼圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2021-09-09
  • 淺談Redis中的RDB快照

    淺談Redis中的RDB快照

    雖說(shuō)Redis是內(nèi)存數(shù)據(jù)庫(kù),但是它為數(shù)據(jù)的持久化提供了兩個(gè)技術(shù),分別是AOF日志和RDB快照。這兩種技術(shù)都會(huì)用各用一個(gè)日志文件來(lái)記錄信息,但是記錄的內(nèi)容是不同的。AOF 文件的內(nèi)容是操作命令; RDB 文件的內(nèi)容是二進(jìn)制數(shù)據(jù)。本文將討論RDB快照的原理和使用
    2021-06-06
  • Redis分布式鎖的實(shí)現(xiàn)方式

    Redis分布式鎖的實(shí)現(xiàn)方式

    本文主要介紹了Redis分布式鎖的實(shí)現(xiàn)方式,分布式鎖是?滿足分布式系統(tǒng)或集群模式下多進(jìn)程可見(jiàn)并且互斥的鎖。感興趣的同學(xué)可以參考閱讀
    2023-04-04

最新評(píng)論