返回顶部
首页 > 资讯 > 精选 >Java redis存Map对象类型数据怎么实现
  • 653
分享到

Java redis存Map对象类型数据怎么实现

2023-06-30 13:06:39 653人浏览 安东尼
摘要

这篇文章主要介绍“Java redis存Map对象类型数据怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Redis存Map对象类型数据怎么实现”文章能帮助大家解

这篇文章主要介绍“Java redis存Map对象类型数据怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java Redis存Map对象类型数据怎么实现”文章能帮助大家解决问题。

    背景描述

    项目需要将设备采集到的最新经纬度信息存入redis缓存中,方便及时查询检索。考虑到根据检索条件不同,所查询的设备不同。采取将数据以map类型存入redis缓存,在此记录一下。

    实体类

    注:一定要实现序列化接口

    父类

    public class Redis implements Serializable{    private String name;    private Integer age;    public String getName() {        return name;    }    public void setName(String name) {        this.name = name;    }    public Integer getAge() {        return age;    }    public void setAge(Integer age) {        this.age = age;    }}

    子类

    import java.io.Serializable;public class RedisCustom extends Redis {    private String stuCode;    public String getStuCode() {        return stuCode;    }    public void setStuCode(String stuCode) {        this.stuCode = stuCode;    }}

    方法1°

    redisTemplate.opsForHash()

    示例代码

    @Controller@RequestMapping("/redis")public class RedisController {    @Autowired    private RedisTemplate redisTemplate;        @RequestMapping(value = "/setRedisData", method = RequestMethod.GET)    @ResponseBody    public Map<String, Object> setRedisData() {        RedisCustom redis1 = new RedisCustom();        redis1.setName("小明");        redis1.setAge(12);        redis1.setStuCode("36");        RedisCustom redis2 = new RedisCustom();        redis2.setName("小红");        redis2.setAge(11);        redis2.setStuCode("24");        //构造存入redis中的map        Map<String, RedisCustom> redisDataMap = new HashMap<String, RedisCustom>();        redisDataMap.put(redis1.getName(), redis1);        redisDataMap.put(redis2.getName(), redis2);        //存入redis        redisTemplate.opsForHash().putAll("redisTest",redisDataMap);        //获取缓存内容        Map<String,RedisCustom> resultMap = redisTemplate.opsForHash().entries("redisTest");                //List<RedisCustom> reslutMapList = redisTemplate.opsForHash().values("redisTest");        //Set<RedisCustom> resultMapSet = redisTemplate.opsForHash().keys("redisTest");        //RedisCustom value = (RedisCustom)redisTemplate.opsForHash().get("redisTest","小明");                return ResponseData.success(resultMap);    }}

    结果

    Java redis存Map对象类型数据怎么实现

    参考
    https://www.yisu.com/article/246815.htm

    方法2&deg;

    将对象转成byte[]

    序列化及反序列化工具

    import java.io.*;public class SerializeObjectTool {    //序列化    public static byte[] serialize(Object obj) {        ObjectOutputStream obi = null;        ByteArrayOutputStream bai = null;        try {            bai = new ByteArrayOutputStream();            obi = new ObjectOutputStream(bai);            obi.writeObject(obj);            byte[] byt = bai.toByteArray();            return byt;        } catch (IOException e) {            e.printStackTrace();        }        return null;    }    // 反序列化    public static Object unserizlize(byte[] byt) {        ObjectInputStream oii = null;        ByteArrayInputStream bis = null;        bis = new ByteArrayInputStream(byt);        try {            oii = new ObjectInputStream(bis);            Object obj = oii.readObject();            return obj;        } catch (Exception e) {            e.printStackTrace();        }        return null;    }}

    示例代码

    @Controller@RequestMapping("/redis")public class RedisController {        @RequestMapping(value = "/setRedisData", method = RequestMethod.GET)    @ResponseBody    public Map<String, Object> setRedisData() {            RedisCustom redis1 = new RedisCustom();        redis1.setName("小明");        redis1.setAge(12);        redis1.setStuCode("36");        RedisCustom redis2 = new RedisCustom();        redis2.setName("小红");        redis2.setAge(11);        redis2.setStuCode("24");        //构造存入redis中的map        Map<String, RedisCustom> redisDataMap = new HashMap<String, RedisCustom>();        redisDataMap.put(redis1.getName(), redis1);        redisDataMap.put(redis2.getName(), redis2);        //连接redis        Jedis redis = new Jedis("xx.xx.xxx.xx", 6379);        redis.auth("xxxxxxxxxxx");                //存        byte[] personByte = SerializeObjectTool.serialize(redisDataMap);        redis.set("redisData".getBytes(), personByte);        //取        byte[] byt = redis.get("redisData".getBytes());        Object obj = SerializeObjectTool.unserizlize(byt);        Map<String, RedisCustom> redisData = (Map<String, RedisCustom>) obj;        return ResponseData.success(redisData);    }}

    关于“Java redis存Map对象类型数据怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

    --结束END--

    本文标题: Java redis存Map对象类型数据怎么实现

    本文链接: https://lsjlt.com/news/329331.html(转载时请注明来源链接)

    有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

    猜你喜欢
    • Java redis存Map对象类型数据怎么实现
      这篇文章主要介绍“Java redis存Map对象类型数据怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java redis存Map对象类型数据怎么实现”文章能帮助大家解...
      99+
      2023-06-30
    • Javaredis存Map对象类型数据的实现
      目录背景描述实体类父类子类方法1°方法2°背景描述 项目需要将设备采集到的最新经纬度信息存入redis缓存中,方便及时查询检索。考虑到根据检索条件不同,所查询的设备不...
      99+
      2024-04-02
    • java string转map对象怎么实现
      要将Java中的String转换为Map对象,可以通过以下步骤实现: 为了将String转换为Map,首先需要将String解析...
      99+
      2023-10-28
      java
    • Redis怎么实现保存对象
      本篇内容主要讲解“Redis怎么实现保存对象”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Redis怎么实现保存对象”吧! redi...
      99+
      2024-04-02
    • java实现往hive 的map类型字段写数据
      往hive 的map类型字段写数据 该表的该字段类型是map<string,string> 对应类的该属性的类型需要定义成String,不可定义成Map<Strin...
      99+
      2024-04-02
    • Redis的数据存储及String类型的实现
      目录1 引言2 数据存储2.1 RedisDB2.2 Redis哈希表实现3 String类型3.1 String类型使用场景3.2 String类型的实现——SDS结构3.3 SDS与C字符串之...
      99+
      2024-04-02
    • Java对象类型怎么判断
      在Java中,可以使用`instanceof`关键字来判断一个对象的类型。`instanceof`关键字用于判断一个对象是否是某个类...
      99+
      2023-08-16
      Java
    • java怎么判断对象类型
      在Java中,可以使用instanceof关键字来判断一个对象的类型。 例如,可以使用以下代码来判断一个对象是否属于某个特定类: O...
      99+
      2024-03-01
      java
    • SpringBoot怎么整合Redis实现序列化存储Java对象
      今天小编给大家分享一下SpringBoot怎么整合Redis实现序列化存储Java对象的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解...
      99+
      2023-07-05
    • Java怎么实现实体类转Map、Map转实体类
      这篇文章给大家分享的是有关Java怎么实现实体类转Map、Map转实体类的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实体类转Map、Map转实体类1、创建entity(User.java)package&nbs...
      99+
      2023-06-20
    • 什么是Python对象的实时数据类型?
      Python是一种动态语言,支持多种数据类型。在Python中,数据类型是指数据的种类和数据所占用的空间大小。Python的数据类型可以分为两种:实时数据类型和不可变数据类型。本文将介绍Python中的实时数据类型,并且会穿插演示代码。 P...
      99+
      2023-10-23
      对象 实时 数据类型
    • java怎么获取对象的类型
      在Java中,可以使用getClass()方法来获取对象的类型。getClass()方法是Object类的方法,因此所有Java对象...
      99+
      2023-09-22
      java
    • redis怎么使用hash存储java对象
      你可以使用Redis的Hash数据结构来存储Java对象。在Java中,你可以将对象转换为JSON格式,然后将JSON字符串存储在R...
      99+
      2024-04-09
      redis hash java
    • Java中BeanMap怎么实现对象与Map相互转换
      这篇文章主要介绍“Java中BeanMap怎么实现对象与Map相互转换”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Java中BeanMap怎么实现对象与Map相互转换”文章能帮助大家解决问题。ja...
      99+
      2023-06-29
    • java怎么实现数据类型的转换
      在Java中,可以使用类型转换操作符将一种数据类型转换成另一种数据类型。类型转换分为两种:隐式类型转换和显式类型转换。1. 隐式类型...
      99+
      2023-10-09
      java
    • redis数据库可以存储什么数据类型
      redis数据库可以存储什么数据类型?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Redis是一个开源的使用ANSI C语言编...
      99+
      2024-04-02
    • js怎样判断对象的数据类型
      这篇文章主要介绍js怎样判断对象的数据类型,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断对象的数据类型使用Object.prototype.toString配合闭包来实现对象数据...
      99+
      2024-04-02
    • Python对象的实时数据类型有哪些?
      Python是一门强大的编程语言,具有灵活性和可扩展性,被广泛应用于各种应用场景中。在Python中,数据类型是非常重要的概念,因为它们定义了程序中使用的数据的类型和范围。Python中有许多数据类型,本文将介绍Python对象的实时数据类...
      99+
      2023-10-23
      对象 实时 数据类型
    • 详解Redis数据类型实现原理
      目录1. 对象的类型与编码① type属性② encoding 属性和 *prt 指针2. 字符串对象① 编码② 编码的转换3. 列表对象① 编码② 编码转换4. 哈希对象① 编码②...
      99+
      2024-04-02
    • redis怎么更改数据类型
      在Redis中,可以使用以下命令更改数据类型:1. `SET key value`:将键 key 的值设置为 value,如果键 k...
      99+
      2023-08-30
      redis
    软考高级职称资格查询
    编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
    • 官方手机版

    • 微信公众号

    • 商务合作