springboot 自己是实现了一套 redis 缓存框架, 地址: https://www.cnblogs.com/huanggy/p/9473822.html, 通过配置即可轻松愉快地实现

某些特殊场合还是需要我们自己写入 redis, 首先需要在 springboot 项目整合 redis, 整合方法: https://www.cnblogs.com/huanggy/p/9473822.html

1, 注入 StringRedisTemplate

@Autowired
private StringRedisTemplate redis;

2, 通用操作

// 检查 key 是否存在, 返回布尔值
redis.hasKey("test");
// 通过 key 删除
redis.delete("test");
// 获取过期时间
redis.getExpire("test")
// 获取过期时间并换算成指定单位
redis.getExpire("test",TimeUnit.SECONDS)
// 设置过期时间
redis.expire("test",1000 , TimeUnit.SECONDS);

3, Value 操作

// 设置值
redis.opsForValue().set("userName","Marry");
// 设置值同时设置过期时间, 3600 秒
redis.opsForValue().set("userAge", 3600, TimeUnit.SECONDS);
// 获取值
redis.opsForValue().get("userName");
// 自减 1
redis.boundValueOps("age").increment(-1)
// 自加 1
redis.boundValueOps("age").increment(-1)

4, List 操作

// 添加(从右添加, 可以理解为从尾部添加)
redis.opsForList().rightPush("myList","1");
redis.opsForList().rightPush("myList","2");
redis.opsForList().rightPush("myList","3");
// 添加(从左添加, 可以理解为从头部添加)
redis.opsForList().leftPush("myList","0");
redis.opsForList().leftPush("myList","-1");
// 获取 list 所有元素(0 表示第一个, -1 表示所有)
redis.opsForList().range("myList",0,-1)
// 获取 list 前5个元素(0,5 前闭后开)
redis.opsForList().range("myList",0,5)
// 添加一个 list
List<String> strList = new ArrayList<>();
strList.add("4);
strList.add("5);
redis.opsForList().rightPushAll("MyList", strList);
// 删除最先进入 myList 的值为 "1"的元素(因为List 可以重复, 一个值可能会出现多次)
redis.opsForList().remove("myList",1, "1");
// 删除所有值是 "1" 的元素
redis.opsForList().remove("myList",0, "1");

5, Hash 操作

// 单独添加属性 姓名(后面的会覆盖前面的)
redis.opsForHash().put("user:10001", "userName", "Marry");
// 单独添加属性 年龄
redis.opsForHash().put("user:10001", "userAge", 20);
// 添加整个对象
Map<String, String> map = new HashMap<>();
map.put("userName", "Rose");
map.put("userAge", 20);
redis.opsForHash().putAll("user:10002", map);
// 获取 map 对象所有键值对
Map<Object, Object> map = redis.opsForHash().entries("user:10001");
// 获取 map 对象的某一个 key 的值
redis.opsForHash().get("userName:10001", "userName");
// 获取所有 key
Set<Object> set = redis.opsForHash().keys("user:10001");
// 获取所有 value
List<Object> list = redis.opsForHash().values("user:10001");
// 删除 map 对象的某一个 key-value
redis.opsForHash().get("userName:10002", "userAge");

springboot 使用 redis的更多相关文章

  1. 【springBoot】springBoot集成redis的key,value序列化的相关问题

    使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...

  2. SpringBoot整合Redis、ApachSolr和SpringSession

    SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...

  3. SpringBoot集成redis的key,value序列化的相关问题

    使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...

  4. springboot集成redis(mybatis、分布式session)

    安装Redis请参考:<CentOS快速安装Redis> 一.springboot集成redis并实现DB与缓存同步 1.添加redis及数据库相关依赖(pom.xml) <depe ...

  5. Windows环境下springboot集成redis的安装与使用

    一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...

  6. SpringBoot系列——Redis

    前言 Redis是一个缓存.消息代理和功能丰富的键值存储.StringBoot提供了基本的自动配置.本文记录一下springboot与redis的简单整合实例 官方文档:https://docs.sp ...

  7. SpringBoot整合Redis及Redis工具类撰写

            SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable). ...

  8. SpringBoot 整合 Redis缓存

    在我们的日常项目开发过程中缓存是无处不在的,因为它可以极大的提高系统的访问速度,关于缓存的框架也种类繁多,今天主要介绍的是使用现在非常流行的NoSQL数据库(Redis)来实现我们的缓存需求. Spr ...

  9. 带着新人学springboot的应用04(springboot+mybatis+redis 完)

    对于缓存也说了比较多了,大家对下图这一堆配置类现在应该有些很粗略的认识了(因为我也就很粗略的认识了一下,哈哈!),咳,那么我们怎么切换这个缓存呢?(就是不用springboot提供的默认的Simple ...

  10. SpringBoot系列十:SpringBoot整合Redis

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Redis 2.背景 Redis 的数据库的整合在 java 里面提供的官方工具包:jed ...

随机推荐

  1. go 语言的序列化与反序列化

    与c 语言一样, 在网络编程中, go语言同样需要进行序列化与反序列化 在c语言中, 通常需要一块内存缓冲区用来收 发数据.缓冲区一般定义成char *buff类型. 当需要发送 数据时, 直接使用m ...

  2. [Swift]LeetCode315. 计算右侧小于当前元素的个数 | Count of Smaller Numbers After Self

    You are given an integer array nums and you have to return a new countsarray. The counts array has t ...

  3. [Swift]LeetCode319. 灯泡开关 | Bulb Switcher

    There are n bulbs that are initially off. You first turn on all the bulbs. Then, you turn off every ...

  4. [Swift]LeetCode609. 在系统中查找重复文件 | Find Duplicate File in System

    Given a list of directory info including directory path, and all the files with contents in this dir ...

  5. [Reversing.kr] Easy_KeygenMe Writeup

    IDA打开.Main()函数就是关键算法 v6,v7,v8 是连续的 .可看成 L=[16,32,48].输入的name每位分别于L[]异或 得到的值存在v13.然后清空v9的值 ,输入Serial储 ...

  6. 侯哥的Python分享

    侯哥语录 我曾经是一个职业教育者,现在是一个自由开发者.我希望我的分享可以和更多人一起进步.分享一段我喜欢的话给大家:"我所理解的自由不是想干什么就干什么,而是想不干什么就不干什么.当你还没 ...

  7. 『骑士精神 IDA*』

    骑士精神(SCOI2005) Description 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位.在任何时候一个骑士都能按照骑 士的走法(它可以走到和它横坐标相差为1,纵 ...

  8. 《你必须知道的.NET》读书实践:一个基于OO的万能加载器的实现

    此篇已收录至<你必须知道的.Net>读书笔记目录贴,点击访问该目录可以获取更多内容. 一.关于万能加载器 简而言之,就是孝顺的小王想开发一个万能程序,可以一键式打开常见的计算机资料,例如: ...

  9. golang子进程的启动和停止,mac与linux的区别

    今天接到一个任务是将原来运行在mac的应用移植到linux,原因当然是因为客户那边当前是linux环境,也不想再采购mac电脑. 通常来说,这个工作并不难,因为我选用的服务器端技术是c或者golang ...

  10. Solr 06 - Solr中配置使用IK分词器 (配置schema.xml)

    目录 1 配置中文分词器 1.1 准备IK中文分词器 1.2 配置schema.xml文件 1.3 重启Tomcat并测试 2 配置业务域 2.1 准备商品数据 2.2 配置商品业务域 2.3 配置s ...