redis java hash存储对象
前言:
- redis缓存的hash数据类型可以让用户将多个key-value对存储到一个redis键里,适合用来存储对象。
- 本文介绍在spring-redis环境上使用RedisTemplate操作对象。
- 接下来的测试是建立在spring-redis环境上的,没有整合spring redis环境则无法与redis缓存进行交互。
实际操作:
创建对象并以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操作redispublic 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中所有键名。
获取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存储对象相关推荐
- Redis Hash存储对象
Hash 哈希表是一种数据结构,而Redis Hash也是采用哈希表来实现的存储. Hash命令 1.赋值(hset key filed value) 127.0.0.1:6379> hset ...
- Redis 利用Hash存储节约内存
redis系列文章目录 Redis 利用Hash存储节约内存 使用spring-data-redis实现incr自增 Redis学习笔记(九)redis实现时时直播列表缓存,支持分页[热点数据存储] ...
- redis的list存储对象实现
redis用了很久,对五种数据结构的使用很熟悉,但是缺乏对实现的认知.所以趁有时间,仔细学习和梳理了下. List类型的value对象内部是以linkedlist和ziplist承载.当List的元素 ...
- java memcached 存储对象_java – 从Memcache中获取低级别数据存储区实体对象时的慢速反序列化...
事实证明,检索存储内存缓存的低级数据存储实体非常缓慢.由于objectify将实体缓存为低级数据存储区实体类型,因此当使用objectify从memcache中获取许多实体时,这会导致性能不佳. 真正 ...
- java memcached 存储对象_memcached—向memcached中保存Java实体需注意的问题
今天以代码实例的形式总结一下向memcached中保存Java实体需注意的问题: memcached工具类代码: package com.ghj.packageoftool; import java. ...
- java map存储对象_java-在ConcurrentHashMap中存储复杂对象
根据实践中的Java Concurrency,以下代码可能引发断言错误: 如果要调用发布线程以外的线程 assertSanity,它可能会引发AssertionError public class H ...
- java map存储对象_JAVA:查找存储在hashMap中的对象的最佳性能方法
如果你想要速度并且总是在寻找一个特定属性,那么最好的办法是创建另一个用该属性键入的"缓存"哈希映射. 对于不到一百万个条目,占用的内存将是无关紧要的,并且哈希映射查找将比任何其他解 ...
- Redis存储对象的三种方式
存储对象的三种方式分别为: 1.将对象序列化后保存到Redis 2.将对象用FastJSON转为JSON字符串后存储 3.将对象用Hash数据类型存储 序列化工具类SerializeUtil publ ...
- redis存php对象吗,redis怎么存储对象
redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合). zset(sorted set ...
最新文章
- C语言从51单片机led数组,51单片机之C语言-4.2数组
- 调用实现天气预报功能android,Android编程实现获取新浪天气预报数据的方法
- 让Everest 0.6支持Intel 82852/82855 GM/GME显卡图形登录
- linux怎么获取当前路径,linux 下获取当前工作路径的实例
- 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
- MySQL Windows ZIP 免费安装和启动设置
- 人工智能状态图matlab,人工智能—TensorFlow(七):matplotlib图形可视化
- strstrsubstr、AfxGetApp
- 初识 Oracle 11g
- JavaScript实现 页面滚动图片加载
- django migration使用指南
- 报错解决:ninja: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20‘ not found (required by ninja)
- windows kafka安装
- 【数据库】mysql日期格式转换
- android 铃音制作工具,音乐剪辑铃声制作
- php后缀视频,PHP获取文件后缀名的方法有哪些?(图文+视频)
- vue中获取本地内网ip
- android 设置启动画面,修改Android开机画面
- 妈妈计算机英语怎么说,妈妈英语怎么说
- win7计算机还原点建立,win7系统每次启动自动创建还原点的处理技巧