SpringBoot 配置Redis操作
时间:2022-07-22
本文章向大家介绍SpringBoot 配置Redis操作,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Redis安装及配置
本地测试的先下载redis,下载地址:
wget http://download.redis.io/releases/redis-5.0.7.tar.gz
tar xzf redis-5.0.7.tar.gz
cd redis-5.0.7
make
# 启动服务
src/redis-server
# 使用客户端测试连接
$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"
这样本地环境就搭建起来啦。但是需要注意, Redis是默认只能本地访问 需要修改配置文件
- redis.conf
注释掉bind 127.0.0.1可以使所有的ip访问redis
修改 protected-mode,值改为no
这样就可以随意连接啦,但是生产环境需呀注意别这样搞。
SpringBoot整合Redis
- pom.xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
- redis配置 application.properties
#=========redis基础配置=========
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
# 连接超时时间 单位 ms(毫秒)
spring.redis.timeout=3000
#=========redis线程池设置=========
# 连接池中的最大空闲连接,默认值也是8。
spring.redis.jedis.pool.max-idle=200
#连接池中的最小空闲连接,默认值也是0。
spring.redis.jedis.pool.min-idle=200
# 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时
spring.redis.jedis.pool.max-wait=1000
- 编写RedisClient.java 用来封装操作
package com.cj.tool.comtool.utils.tool;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
import java.util.List;
@Component
public class RedisClient {
@Autowired
private StringRedisTemplate redisTemplate;
/**
* redis里面的数据类型对应StringRedisTemplate 的不同操作
* 类型String,List,Hash,Set,ZSet 对应的方法分别是opsForValue()、opsForList()、opsForHash()、opsForSet()、opsForZSet()
*/
/**
* 设置键值
* @param key
* @param value
* @return
*/
public boolean set(String key, String value) {
try {
redisTemplate.opsForValue().set(key, value);
return true;
} catch (Exception e) {
e.printStackTrace();
}
return false;
}
/**
* 获取指定键值
* @param key
* @return
*/
public Object get(String key) {
return redisTemplate.opsForValue().get(key);
}
/**
* 删除某个键
* @param key
* @return
*/
public Object delete(String key) {
return redisTemplate.delete(key);
}
/**
* 推入列表
*/
public void listLPush(String key, String value) {
redisTemplate.opsForList().leftPush(key, value);
}
public List getList(String key, int start, int end) {
return (List) redisTemplate.opsForList().range(key, start, end); // 获取列表数据
}
}
- 测试使用
package com.cj.tool.comtool.controller;
import com.cj.tool.comtool.utils.tool.RedisClient;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
@RestController
public class TestRedisController {
@Autowired
private RedisClient redisClient;
@GetMapping("/api/v1/redis/set")
public boolean set() {
return redisClient.set("name", "zhangsan");
}
@GetMapping("/api/v1/redis/get")
public Object get() {
System.out.println(redisClient.get("name"));
return redisClient.get("name");
}
@GetMapping("/api/v1/redis/delete")
public Object delete() {
System.out.println(redisClient.get("name"));
return redisClient.delete("name");
}
@GetMapping("/api/v1/redis/list")
public Object list() {
String key = "user:list";
redisClient.listLPush(key, "hello");
redisClient.listLPush(key, "aoppp.com");
return redisClient.getList(key, 0, -1);
}
}
- 效果
更多操作可以参考网上博客
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Python脚本破解压缩文件口令实例教程(zipfile)
- 使用keras实现Precise, Recall, F1-socre方式
- Python Django搭建网站流程图解
- Pandas对DataFrame单列/多列进行运算(map, apply, transform, agg)
- keras自定义损失函数并且模型加载的写法介绍
- pandas DataFrame运算的实现
- Python流程控制语句的深入讲解
- 在keras里面实现计算f1-score的代码
- Keras官方中文文档:性能评估Metrices详解
- Django QuerySet查询集原理及代码实例
- Python中zipfile压缩文件模块的基本使用教程
- 基于nexus3配置Python仓库过程详解
- Python Django中间件使用原理及流程分析
- keras读取h5文件load_weights、load代码操作
- 简单了解Python变量作用域正确使用方法