Redis(RedisTemplate)使用hash哈希
RedisTemplate配置:https://www.cnblogs.com/weibanggang/p/10188682.html
package com.wbg.springRedis.test; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; import org.springframework.data.redis.core.RedisTemplate; import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; public class TestHash { static RedisTemplate redisTemplate = null; public static void main(String[] args) { ApplicationContext applicationContext = new ClassPathXmlApplicationContext("spring-redis.xml"); redisTemplate = applicationContext.getBean(RedisTemplate.class); String key = "hash"; Map<String, String> map = new HashMap<>(); map.put("filed1", "value1"); map.put("filed2", "value2"); //相当于hmset redisTemplate.opsForHash().putAll(key, map); //相当于hset redisTemplate.opsForHash().put(key, "filed3", "10"); //相当于hexists key filed //是否存在 boolean bool = redisTemplate.opsForHash().hasKey(key, "filed3"); System.out.println(bool); //相当于hgetall {filed1=value1, filed2=value2, filed3=10}获取所有hash的键=值 Map map1 = redisTemplate.opsForHash().entries(key); System.out.println(map1); //hincrby //加5 如果是原数据是float类型会异常 redisTemplate.opsForHash().increment(key, "filed3", 5); pring("filed3"); //hincrbyfloat 2.3 redisTemplate.opsForHash().increment(key, "filed3", 2.2); pring("filed3"); //hvals [value1, value2, 17.199999999999999] 获取所有的value System.out.println(redisTemplate.opsForHash().values(key)); //hkeys [filed1, filed2, filed3] //获取所有的键 System.out.println(redisTemplate.opsForHash().keys(key)); List<String> list = new ArrayList<>(); list.add("filed1"); list.add("filed2"); //hmget [value1, value2] // 获取对于的键 值 没有就返回空 System.out.println(redisTemplate.opsForHash().multiGet(key, list)); //hsetnx 不存在的时候才会设置进入true 否则返回false System.out.println(redisTemplate.opsForHash().putIfAbsent(key,"filed4", "value4")); //hdel 返回删除个数 System.out.println(redisTemplate.opsForHash().delete(key,"filed1","filed2","filed6")); } public static void pring(String filed) { System.out.println(redisTemplate.opsForHash().get("hash", filed)); } }
分类:
Redis
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下