- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章Springboot/Springcloud项目集成redis进行存取的过程解析由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
前言:redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合),zset(sorted set:有序集合).
然后点击里面的redis-server.exe(windows平台)即可正常启动 。
1
2
3
4
|
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-data-redis</artifactid>
</dependency>
|
在需要使用redis的地方通过注解注入,比如在controller中添加 。
1
2
3
4
5
6
7
8
9
|
@restcontroller
public
class
rediscontroller {
@autowired
private
stringredistemplate stringredistemplate;
//只支持redis五大类型中的字符串类型
@autowired
private
redistemplate redistemplate;
//支持redis五大类型中的所有类型
}
|
1
2
3
4
5
6
|
@requestmapping
(
"/setstring"
)
public
object setstring(){
stringredistemplate.boundvalueops(
"s"
).set(
"辣椒"
);
//存入
return
stringredistemplate.boundvalueops(
"s"
).get();
//读取
}
|
访问接口查看结果:
使用你自己的对象进行存取,我这里使用person对象 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
package
com.star.pojo;
import
java.io.serializable;
public
class
person
implements
serializable {
private
string name;
private
int
age;
private
string add;
public
person() {
}
public
person(string name,
int
age, string add) {
this
.name = name;
this
.age = age;
add = add;
}
public
string getname() {
return
name;
}
public
void
setname(string name) {
this
.name = name;
}
public
int
getage() {
return
age;
}
public
void
setage(
int
age) {
this
.age = age;
}
public
string getadd() {
return
add;
}
public
void
setadd(string add) {
add = add;
}
@override
public
string tostring() {
return
"person{"
+
"name='"
+ name + '\
''
+
", age="
+ age +
", add='"
+ add + '\
''
+
'}'
;
}
}
person.java
|
1
2
3
4
5
6
7
|
@requestmapping
(
"/setperson"
)
public
object setperson(){
person person =
new
person(
"鱼er"
,
151
,
"北京"
);
redistemplate.boundvalueops(
"p"
).set(person);
//存入
return
redistemplate.boundvalueops(
"p"
).get();
//读取
}
|
1
2
3
4
5
6
7
8
9
10
11
|
@requestmapping
(
"/setlist"
)
public
list<string> setlistredis(){
list<string> list=
new
arraylist<>();
list.add(
"手头"
);
list.add(
"苹果"
);
list.add(
"辣椒"
);
this
.redistemplate.boundvalueops(
"listk"
).set(list);
//存入
return
(list<string>)
this
.redistemplate.boundvalueops(
"listk"
).get();
//读取
}
|
1
2
3
4
5
6
7
8
9
10
11
|
@requestmapping
(
"/sethash"
)
public
list<string> sethash(){
list<string> list=
new
arraylist<>();
list.add(
"大书"
);
list.add(
"酸菜"
);
list.add(
"鸡蛋"
);
this
.redistemplate.boundhashops(
"thing"
).put(
"h"
,list);
//存入
return
(list<string>)
this
.redistemplate.boundhashops(
"thing"
).get(
"h"
);
//读取
}
|
其安装及连接方式不用多说,基本是个人都会,实在不会可以去这里瞧瞧.
添加测试依赖,junit必须4.12以上 。
1
2
3
4
5
6
7
8
9
10
11
|
<dependency>
<groupid>org.springframework.boot</groupid>
<artifactid>spring-boot-starter-test</artifactid>
</dependency>
<dependency>
<groupid>junit</groupid>
<artifactid>junit</artifactid>
<version>
4.12
</version>
<scope>test</scope>
</dependency>
|
在要进行存取的类上添加注解@runwith、@springboottest,意思是启动单元测试时启动当前项目的启动类,因为启动类里面的@springbootapplication里面包含了包扫描@componentscan,不然注入stringredistemplate或redistemplate时注入失败报空指针,当然也可以在启动类里面返回new stringredistemplate或new redistemplate并且加注解@bean的方式处理注入失败问题,这里直接通过加注解的方式处理.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
@runwith
(value = springjunit4classrunner.
class
)
//redisapp为启动类名字
@springboottest
(classes = {redisapp.
class
})
public
class
redisapptest {
@autowired
private
stringredistemplate stringredistemplate;
@autowired
private
redistemplate redistemplate;
@test
public
void
setstringredis(){
this
.stringredistemplate.boundvalueops(
"name2"
).set(
"熊大"
);
system.out.println(
"ok"
);
}
@test
public
void
getstringredis(){
string name =
this
.stringredistemplate.boundvalueops(
"name2"
).get();
system.out.println(
"ok:"
+name);
}
}
|
在redis desktop manager工具中可以看到存储成功了,在控制台也可以读取 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
@autowired
private
redistemplate redistemplate;
/**
* 首次访问时,如果redis没有数据,就访问数据库,然后把访问到的数据存到redis
* 后续访问时,直接查询redis
*/
@override
public
list<person> findbypersonid(
long
id) {
// 先查看缓存中有没有
list<person> list = (list<person>) redistemplate.boundvalueops(id).get();
if
(list==
null
){
system.out.println(
"redis中没有,开始从数据库中获取"
);
.........
//查询数据库得到list<person> list =xxxxxx;
redistemplate.boundvalueops(id).set(list);
//将从数据库查到的数据添加到redis中以备下次查找
}
else
{
system.out.println(
"redis中存在,list是直接从缓存中获取的,没查数据库"
);
}
return
list;
}
|
到此这篇关于springboot/springcloud项目中集成redis进行存取的文章就介绍到这了,更多相关springcloud集成redis存取内容请搜索我以前的文章或继续浏览下面的相关文章希望大家以后多多支持我! 。
原文链接:https://www.cnblogs.com/smiles365/p/15236896.html 。
最后此篇关于Springboot/Springcloud项目集成redis进行存取的过程解析的文章就讲到这里了,如果你想了解更多关于Springboot/Springcloud项目集成redis进行存取的过程解析的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
SpringBoot-Admin 服务监控 简单介绍 Spring Boot Actuator 是 Spring Boot 自带的一个功能模块, 提供了一组已经开箱即用的生产环境下常用
我想查找通过关键字匹配字段 nameEnglish 或 nameChinese 的模型列表。我花了一个多小时谷歌搜索但我做不到。请帮忙。 Springboot Mongo 入门示例 https://s
(请注意:在调查 this issue 时,我更好地发现了我在此处介绍的问题根源) 我对 Hibernate 和 SpringBoot 非常陌生。我的项目涉及一个搜索引擎,其中索引(javafx 客户
我最近有一个 Web 应用程序从 springboot 升级到 springboot 2。当我将其部署到 Tomcat 8 时,它似乎启动了,但没有完全启动。 在 localhost.2019-09-
我是 Spring boot 的新手...我在运行 Controller 时遇到问题, Description: Field todoService in com.springboot.todoCon
我有一个SpringBoot应用程序,它使用以下配置与PostgreSQL通信,通过AWS Beanstrik部署:。在我将AWS Aurora证书更新为rds-ca-ecc384-g1之前,一切都很
实在是不知道标题写什么了 可以在评论区给个建议哈哈哈哈 先用这个作为标题吧 尝试使用 国内给出的 AI 大模型做出一个 可以和 AI 对话的 网站出来 使用 智普AI 只能 在控制
一、介绍 在实际的软件系统开发过程中,由于业务的需求,在代码层面实现数据的脱敏还是远远不够的,往往还需要在数据库层面针对某些关键性的敏感信息,例如:身份证号、银行卡号、手机号、工资等信息进行加密存储
Selenium Selenium是一个用于Web应用程序自动化测试的开源工具套件。它主要用于以下目的: 浏览器自动化:Selenium能够模拟真实用户在不同浏览器(如Chrome、Fire
一、简介 在实际的项目开发过程中,经常需要用到邮件通知功能。例如,通过邮箱注册,邮箱找回密码,邮箱推送报表等等,实际的应用场景非常的多。 早期的时候,为了能实现邮件的自动发送功能,通常会使用 Ja
SpringBoot:基于redis自定义注解实现后端接口防重复提交校验 一、添加依赖 org.springframework.boot spring
SpringBoot:使用Jackson完成全局序列化配置 一、测试准备 com.fasterxml.jackson.core jackson-cor
springboot:整合rocketmq 一、简易消息操作 生产者整合mq 导入依赖 org.springframework.boot
springboot:常用注解 一、spring常用注解 包扫描+组件标注注解 @Component:泛指各种组件 @Controller、@Service、@Repository都可以称为@Comp
我们经常需要在两个系统之间进行一些数据的交互,这时候我们就需要开发数据交互接口。 一般来说,遇到比较多的接口有HTTP接口、WebService接口、FTP文件传输。今天我要来学习一下在SpringB
背景 近期项目上线,甲方要求通过安全检测才能进行验收,故针对扫描结果对系统进行了一系列的安全加固,本文对一些常见的安全问题及防护策略进行介绍,提供对应的解决方案 跨站脚本攻击 XSS常发生于论坛评论等
1.排除 Spring-boot-starter 默认的日志配置 将原本的 spring-boot-starter 改为 org.springframework.boot
springboot:解决跨域问题 一、跨域简介 URL的组成: // 协议 + 域名(子域名 + 主域名) + 端口号 + 资源地址 http://www.baidu.com:8080/ 只要协
一、自定义Starter 的思路: 创建一个Maven工程,创建三个模块 一个模块为demo-app,一个模块为demo-module,一个模块为demo-module-springboot-star
1.pom.xml 4.0.0 org.springframework.boot spring-boot-starter-parent
我是一名优秀的程序员,十分优秀!