springboot 使用 redis
2024-10-18 19:21:22
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");
最新文章
- C# 给word文档添加水印
- Spring框架总结
- UIAutomator定位Android控件的方法
- node.js建立简单应用
- 频谱分析仪 RBW&;VBW
- 【OpenCV入门指南】第一篇 安装OpenCV
- POJ 1258 最小生成树
- 学习总结 java Iterator迭代器练习
- Codechef Nuclear Reactors 题解
- Norm 数据库操作竟然可以如此简单
- 快速增加controller节点
- C# 使用Task实现任务超时,多任务一起执行
- 大数据学习系列之二 ----- HBase环境搭建(单机)
- 修改hosts 流畅使用coursera
- SpringBoot之普通类获取Spring容器中的bean
- day10_friest_自动化
- jmeter 上传附件
- 在chrome开发者工具中观察函数调用栈、作用域链与闭包
- 解决KVM中宿主机通过console无法连接客户机
- SpringBoot------thymeleaf的使用
热门文章
- 在 Ubuntu 中使用 Visual Studio Code
- Windows多线程中关键段(Critical Section)的应用
- Oracle SQL性能优化的40条军规
- [Swift]LeetCode593. 有效的正方形 | Valid Square
- [Swift]LeetCode598. 范围求和 II | Range Addition II
- Kubernetes 笔记 06 豌豆荚之旅(一)
- 【Spark篇】---Spark中Master-HA和historyServer的搭建和应用
- Python内置函数(26)——globals
- Git中用vim打开、修改、保存文件(转)
- BBS论坛(二)