前言:

  • redis缓存的hash数据类型可以让用户将多个key-value对存储到一个redis键里,适合用来存储对象。
  • 本文介绍在spring-redis环境上使用RedisTemplate操作对象。
  • 接下来的测试是建立在spring-redis环境上的,没有整合spring redis环境则无法与redis缓存进行交互。

实际操作:

  1. 创建对象并以hash数据类型保存到redis缓存

    package com.server;
    import java.util.Map;
    import java.util.concurrent.TimeUnit;

    import org.redisson.api.RedissonClient;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.data.redis.core.HashOperations;
    import org.springframework.data.redis.core.RedisTemplate;
    import org.springframework.stereotype.Service;

    import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
    import com.pojo.Student;

    @Service
    public class StudentServer {

    @Autowired
    private RedisTemplate redisTemplate;//redisTemplate操作redis

    public void setmap(){
    Student stu=new Student();
    stu.setStuid(“1001”);
    stu.setStuname(“hashtest”);//生成一个Student对象
    stu.setStugender(“man”);

    //标志map的键、标志value的key、value
    HashOperations<String, String, String> map=redisTemplate.opsForHash();
    //向键名为stu.getStuid的map对象存储key-value对
    map.put(stu.getStuid, "name", stu.getStuname);
    map.put(stu.getStuid, "gender", stu.getStugender);//设置100 seconds存活时间
    redisTemplate.expire(stu.getStuid, 100, TimeUnit.SECONDS);
    

    }

运行之后:

  • . 用 hgetall map键名 命令查看redis缓存中的hash数据;
  • . 用 hget map键名 key 命令查看指定key的value;
  • . 用 ttl map键名 查看剩余存活时间;
  • . 用 keys * 查看redis中所有键名。
  1. 获取redis缓存中的map数据并输出到myeclipse控制台

    public void getmao(){
    long starttime=System.currentTimeMillis();

        //entires() 从redis中获取map数据Map stumap=redisTemplate.boundHashOps("1001").entries();System.out.println("map对象:"+stumap);System.out.println(stumap.get("name"));long endtime=System.currentTimeMillis();System.out.println("运行时间:"+( endtime-starttime)+"ms");
    }
    

运行结果:

redis java hash存储对象相关推荐

  1. Redis Hash存储对象

    Hash 哈希表是一种数据结构,而Redis Hash也是采用哈希表来实现的存储. Hash命令 1.赋值(hset key filed value) 127.0.0.1:6379> hset ...

  2. Redis 利用Hash存储节约内存

    redis系列文章目录 Redis 利用Hash存储节约内存 使用spring-data-redis实现incr自增 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储] ...

  3. redis的list存储对象实现

    redis用了很久,对五种数据结构的使用很熟悉,但是缺乏对实现的认知.所以趁有时间,仔细学习和梳理了下. List类型的value对象内部是以linkedlist和ziplist承载.当List的元素 ...

  4. java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...

    事实证明,检索存储内存缓存的低级数据存储实体非常缓慢.由于objectify将实体缓存为低级数据存储区实体类型,因此当使用objectify从memcache中获取许多实体时,这会导致性能不佳. 真正 ...

  5. java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题

    今天以代码实例的形式总结一下向memcached中保存Java实体需注意的问题: memcached工具类代码: package com.ghj.packageoftool; import java. ...

  6. java map存储对象_java-在ConcurrentHashMap中存储复杂对象

    根据实践中的Java Concurrency,以下代码可能引发断言错误: 如果要调用发布线程以外的线程 assertSanity,它可能会引发AssertionError public class H ...

  7. java map存储对象_JAVA:查找存储在hashMap中的对象的最佳性能方法

    如果你想要速度并且总是在寻找一个特定属性,那么最好的办法是创建另一个用该属性键入的"缓存"哈希映射. 对于不到一百万个条目,占用的内存将是无关紧要的,并且哈希映射查找将比任何其他解 ...

  8. Redis存储对象的三种方式

    存储对象的三种方式分别为: 1.将对象序列化后保存到Redis 2.将对象用FastJSON转为JSON字符串后存储 3.将对象用Hash数据类型存储 序列化工具类SerializeUtil publ ...

  9. redis存php对象吗,redis怎么存储对象

    redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). zset(sorted set ...

最新文章

  1. C语言从51单片机led数组,51单片机之C语言-4.2数组
  2. 调用实现天气预报功能android,Android编程实现获取新浪天气预报数据的方法
  3. 让Everest 0.6支持Intel 82852/82855 GM/GME显卡图形登录
  4. linux怎么获取当前路径,linux 下获取当前工作路径的实例
  5. 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
  6. MySQL Windows ZIP 免费安装和启动设置
  7. 人工智能状态图matlab,人工智能—TensorFlow(七):matplotlib图形可视化
  8. strstrsubstr、AfxGetApp
  9. 初识 Oracle 11g
  10. JavaScript实现 页面滚动图片加载
  11. django migration使用指南
  12. 报错解决:ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found (required by ninja)
  13. windows kafka安装
  14. 【数据库】mysql日期格式转换
  15. android 铃音制作工具,音乐剪辑铃声制作
  16. php后缀视频,PHP获取文件后缀名的方法有哪些?(图文+视频)
  17. vue中获取本地内网ip
  18. android 设置启动画面,修改Android开机画面
  19. 妈妈计算机英语怎么说,妈妈英语怎么说
  20. win7计算机还原点建立,win7系统每次启动自动创建还原点的处理技巧

热门文章

  1. 吴晓波跨年演讲:2019,这6件事将会发生(演讲全文)
  2. Python使用循环嵌套输出九九乘法表
  3. rabbitMQ消息丢失、重复消费解决方案
  4. 【点云处理】Lidar点云障碍物形状估计(1)
  5. 撰写打动人心的功能规范
  6. A-Level是“最简单的”国际课程吗?
  7. win 7计算机图标变了,Win7系统桌面图标显示异常统一变成白色的两种解决方法
  8. c++ qt5 打开文件夹
  9. 【AD18】边框设置
  10. 中概股回暖,B站打开向上通道