springboot 使用 redis
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的更多相关文章
- 【springBoot】springBoot集成redis的key,value序列化的相关问题
使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...
- SpringBoot整合Redis、ApachSolr和SpringSession
SpringBoot整合Redis.ApachSolr和SpringSession 一.简介 SpringBoot自从问世以来,以其方便的配置受到了广大开发者的青睐.它提供了各种starter简化很多 ...
- SpringBoot集成redis的key,value序列化的相关问题
使用的是maven工程 springBoot集成redis默认使用的是注解,在官方文档中只需要2步; 1.在pom文件中引入即可 <dependency> <groupId>o ...
- springboot集成redis(mybatis、分布式session)
安装Redis请参考:<CentOS快速安装Redis> 一.springboot集成redis并实现DB与缓存同步 1.添加redis及数据库相关依赖(pom.xml) <depe ...
- Windows环境下springboot集成redis的安装与使用
一,redis安装 首先我们需要下载Windows版本的redis压缩包地址如下: https://github.com/MicrosoftArchive/redis/releases 连接打开后如下 ...
- SpringBoot系列——Redis
前言 Redis是一个缓存.消息代理和功能丰富的键值存储.StringBoot提供了基本的自动配置.本文记录一下springboot与redis的简单整合实例 官方文档:https://docs.sp ...
- SpringBoot整合Redis及Redis工具类撰写
SpringBoot整合Redis的博客很多,但是很多都不是我想要的结果.因为我只需要整合完成后,可以操作Redis就可以了,并不需要配合缓存相关的注解使用(如@Cacheable). ...
- SpringBoot 整合 Redis缓存
在我们的日常项目开发过程中缓存是无处不在的,因为它可以极大的提高系统的访问速度,关于缓存的框架也种类繁多,今天主要介绍的是使用现在非常流行的NoSQL数据库(Redis)来实现我们的缓存需求. Spr ...
- 带着新人学springboot的应用04(springboot+mybatis+redis 完)
对于缓存也说了比较多了,大家对下图这一堆配置类现在应该有些很粗略的认识了(因为我也就很粗略的认识了一下,哈哈!),咳,那么我们怎么切换这个缓存呢?(就是不用springboot提供的默认的Simple ...
- SpringBoot系列十:SpringBoot整合Redis
声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 1.概念:SpringBoot 整合 Redis 2.背景 Redis 的数据库的整合在 java 里面提供的官方工具包:jed ...
随机推荐
- 安卓开发学习笔记(五):史上最简单且华丽地实现Android Stutio当中Webview控件https/http协议的方法
一.我们先在XML当中自定义一个webview(Second_layout.xml) 代码如下: <?xml version="1.0" encoding="utf ...
- MySQL常用存储引擎及如何选择
一.MySQL的存储引擎 完整的引擎说明还是看官方文档:http://dev.mysql.com/doc/refman/5.6/en/storage-engines.html 这里介绍一些主要的引擎 ...
- Go变量逃逸分析
目录 什么是逃逸分析 为什么要逃逸分析 逃逸分析是怎么完成的 逃逸分析实例 总结 写过C/C++的同学都知道,调用著名的malloc和new函数可以在堆上分配一块内存,这块内存的使用和销毁的责任都在程 ...
- [Swift]LeetCode83. 删除排序链表中的重复元素 | Remove Duplicates from Sorted List
Given a sorted linked list, delete all duplicates such that each element appear only once. Example 1 ...
- Qt创建堆叠窗口
1.QT创建堆叠窗口使用类,但是使用它时主窗口不能是MainWindow,否则会出现布局错误,本例中使用基类为QDialog QStackedWidget 2.可以配合列表框QListWidget和Q ...
- 完整的http请求分析
首先我们要明白什么是http. http:超文本传输协议(HTTP,HyperText Transfer Protocol). 超文本传输协议是互联网上应用最为广泛的一种网络协议.所有的WWW文件都必 ...
- Python内置函数(14)——delattr
英文文档: delattr(object, name) This is a relative of setattr(). The arguments are an object and a strin ...
- 7.Django CSRF 中间件
CSRF 1.概述 CSRF(Cross Site Request Forgery)跨站点伪造请求,举例来讲,某个恶意的网站上有一个指向你的网站的链接,如果某个用户已经登录到你的网站上了,那么当这个用 ...
- BBS论坛(九)
9.1.权限和角色模型定义 (1)cms/models class CMSPermission(object): ALL_PERMISSION = 0b11111111 # 1.访问者的权限 VISI ...
- oracle数据库默认是10次尝试失败后锁住用户
一般数据库默认是10次尝试失败后锁住用户 1.查看FAILED_LOGIN_ATTEMPTS的值select * from dba_profiles: 2.修改为无限次(为安全起见,不建议使用)alt ...