spring boot 使用RedisTemplate
1导入包
<!-- redis --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <exclusions> <!-- 不依赖rdisde 异步客户端lettuce--> <exclusion> <groupId>io.lettuce</groupId> <artifactId>lettuce-core</artifactId> </exclusion> </exclusions> </dependency> <!--引入redis客服端驱动--> <dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> </dependency>
2,设置初始化
//注入reidstempate @Autowired private RedisTemplate redisTemplate=null; //自定义初始化方法 @PostConstruct public void init(){ initeRedisTemplate(); } //设置redistempplte序列化,存入的值不是二进制 private void initeRedisTemplate(){ RedisSerializer stringSerializer=redisTemplate.getStringSerializer(); redisTemplate.setKeySerializer(stringSerializer); redisTemplate.setHashKeySerializer(stringSerializer); redisTemplate.setValueSerializer(stringSerializer); } public static void main(String[] args) { SpringApplication.run(ChapterApplication.class, args); }
3,写代码Controller
@Controller @RequestMapping("/s") public class RedisController { @Autowired private RedisTemplate redisTemplate=null; @Autowired private StringRedisTemplate stringRedisTemplate=null; @RequestMapping("/s1") @ResponseBody public Map<String,Object> testStringAndHash(){ redisTemplate.opsForValue().set("key1","value1"); redisTemplate.opsForValue().set("int_ket","1"); stringRedisTemplate.opsForValue().set("int","1"); //使用运算符 stringRedisTemplate.opsForValue().increment("int",1); //获取底层jedis链接 Jedis jedis=(Jedis) stringRedisTemplate.getConnectionFactory().getConnection().getNativeConnection(); //减1操作 redistemplate不支持 jedis.decr("int"); Map<String,String> hash=new HashMap<String,String>(); hash.put("field1","value1"); hash.put("field2","value2"); //存入散列类型 stringRedisTemplate.opsForHash().putAll("hash",hash); //新增一个字段 stringRedisTemplate.opsForHash().put("hash","field3","calue3"); //绑定散列惭怍key 操作整个散列数据 BoundHashOperations hashOps=stringRedisTemplate.boundHashOps("hash"); //删除2个字段 hashOps.delete("field1","field2"); //新增一个字段 hashOps.put("field4","value4"); Map<String,Object> map=new HashMap<String,Object>(); map.put("success",true); return map; } }
分类:
sprng boot
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理