当前位置: 首页 > news >正文

零基础学习Redis(14) -- Spring中使用Redis

1. 依赖与配置

Spring官方也对Redis的命令进行了封装,在创建项目时导入对应的依赖即可使用:

此外我们还需要写一些配置信息:

spring:application:name: springRedisdata:redis:port: 6379host: 127.0.0.1

Spring提供了一个RedisTemplate类用来操作Redis,这里的StringRedisTemplate是RedisTemplate的一个子类用来专门处理字符串数据的。Spring中的接口风格和原生的Redis命令有一定的差异,Spring操作redis的方法分成了几个类别分别组织起来,例如这里的opsForHash()方法可以得到一个专门操作hash类型的对象,其类型也是如此

2. 操作String类型

 我们使用opsForValue方法可以获得操作String类型的对象,可以看到其中有许多相关的方法我们直接使用即可:

    @RequestMapping("/testString")public String testString() {redisTemplate.opsForValue().set("key1", "v1");redisTemplate.opsForValue().set("key2", "v2");redisTemplate.opsForValue().set("key3", "v3");return redisTemplate.opsForValue().get("key3");}

注意spring并没有封装全部的redis命令,例如flushall,如果我们想要执行这些没有被封装的 命令可以使用execute()方法:

        redisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});

通过这里的connection就可以执行redis原生的命令

3. 操作List

    @RequestMapping("/testList")public List<String> testList() {redisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});redisTemplate.opsForList().leftPush("list1", "333");redisTemplate.opsForList().leftPush("list1", "222");redisTemplate.opsForList().leftPush("list1", "111");redisTemplate.opsForList().rightPush("list1", "444");return redisTemplate.opsForList().range("list1", 0, -1);}

 4. 操作set

    @RequestMapping("/testSet")public Set<String> testSet() {redisTemplate.execute((RedisConnection connection) -> {connection.flushAll();return null;});redisTemplate.opsForSet().add("set1", "111", "222", "333");System.out.println(redisTemplate.opsForSet().size("set1"));return redisTemplate.opsForSet().members("set1");}

5. 总结

在spring中提供的方法只要大家对于redis命令足够熟悉相信是能够正常的猜测出每个方法的具体作用,不够熟悉的也可以在spring的官方网站上进行查询,关于redis基础使用的学习到这里就基本完结了。

相关文章:

  • Go语言--语法基础6--基本数据类型--数组类型(1)
  • 为OneCode 开发TRea 开发插件,从环境搭建到生态融合
  • 跨域问题说明
  • 开发语言本身只是提供了一种解决问题的工具
  • 给docker 配置代理 IP机端口
  • Java事务失效(面试题)的常见场景
  • Python 商务数据分析—— NumPy 学习笔记Ⅱ
  • 登录拦截功能实现 -瑞吉外卖笔记
  • 2025年EAAI SCI1区TOP,基于低差异序列的仿果蝇无人机地下环境路径规划算法,深度解析+性能实测
  • 群晖 NAS Docker 镜像加速配置详细教程
  • SpringBean 创建过程详解
  • 【ELK(Elasticsearch+Logstash+Kibana) 从零搭建实战记录:日志采集与可视化】
  • 预训练 vs. 微调:大模型落地的核心两步,究竟有何不同?
  • 【Linux手册】进程地址空间:从虚拟到物理的内存寻址之旅
  • 通义大模型在文档自动化处理中的高效部署指南(OCR集成与批量处理优化)
  • go excel解析库xuri/excelize中的SAX
  • 【PyTorch项目实战】CycleGAN:无需成对训练样本,支持跨领域图像风格迁移
  • 开关电源:BUCK和BOOST
  • NotePad++ 怎么没有找到插件管理?
  • C++ 友元:打破封装边界的“特殊权限”
  • 知识付费网站搭建教程/宁德市安全教育平台
  • 怎样做淘宝联盟的网站/种子搜索引擎torrentkitty
  • 标小智在线logo免费设计/包头seo
  • 温州整站推广咨询/百度推广后台登录入口
  • 自己动手做导航网站/百度安全中心
  • 做软件下载网站/网络广告策划