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

redis如何實現(xiàn)保存對象

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

redis保存對象

redis數(shù)據(jù)結構

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

測試成功。

redis存放對象的兩種方式

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

  • 用戶id為查找的key
  • 存儲的value用戶對象包括姓名,年齡,生日等等
  • 如果用普通的key-value結構來存儲,主要有以下2種方式存儲

方式一(String)

這種方式是使用list或者set這些來存儲的,這樣的方式其實也可以達到我們想要的效果,但是因為每次修改屬性都需要三步走,性能開銷非常大。1.先反序列化;2,修改;3.序列化

方式二(hash)

這種方式其實也有兩種寫法

寫法一:

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

寫法二:

通過key(用戶id)+field(屬性標簽)可以操作對應屬性數(shù)據(jù)了,既不需要重復存儲數(shù)據(jù),也不會帶來序列化和并修復操控的問題

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

相關文章

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

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

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

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

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

    win 7 安裝redis服務【筆記】

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

    Redis的Sentinel解決方案介紹與運行機制

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

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

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

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

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

    redis數(shù)據(jù)結構之壓縮列表

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

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

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

    淺談Redis中的RDB快照

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

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

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

最新評論