Spring Boot对Redis的操作方式有两种:使用注解方式,使用API方式。
Spring Boot对Redis的两种操作方式中有些步骤都是需要的。
org.springframework.boot
spring-boot-starter-data-redis
在主配置文件中添加如下内容
# 连接Redis服务器
redis:
host: redisOS
port: 6379
password: 111
# 连接Redis高可有集群
# redis:
# sentinel:
# master: mymaster
# nodes:
# - sentinelOS1:26379
# - sentinelOS2:26379
# - sentinelOS3:26379
# 配置缓存
cache:
type: redis # 指定缓存类型
cache-names: realTimeCache # 指定缓存区域名称
@Data
public class Student implements Serializable {
private static final long serialVersionUID = 8976625991908299975L;
private Integer id;
private String name;
private int age;
}
@EnableCaching // 开启注解式缓存
@EnableTransactionManagement // 开启事务
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
// 当发生插入操作时,将realTimeCache缓存区域中的数据清空
@CacheEvict(value="realTimeCache", allEntries = true)
@Transactional(rollbackFor = Exception.class)
@Override
public void addStudent(Student student) {
dao.insertStudent(student);
}
// 将从DB中查询的数据存放到realTimeCache缓存区域,并为其指定
// key为student_id值
@Cacheable(value="realTimeCache", key = "'student_'+#id")
@Override
public Student getStudentById(int id) {
// 从DB中查询
return dao.selectStudentById(id);
}
@Autowired
private RedisTemplate
dubbo与spring boot整合依赖在mvnrepository.com中是找不到的,需要到阿里巴巴在github的官网中查找
该依赖如下:
com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
该dubbo-spring-boot-starter依赖直接依赖的dubbo版本是2.6.0,其为dubbo进入到apache孵化器之前的版本,其zookeeper的客户端仍是zkClient,而不是Curator,且dubbo的服务治理平台是嵌入到dubbo源码中的。从dubbo2.6.1版本开始,服务治理平台就从dubbo源码中分离了出来。
该dubbo-spring-boot-starter依赖所需要的zookeeper客户端为
com.101tec
zkclient
0.10
org.slf4j
slf4j-log4j12
1.7.25
test
com.101tec
zkclient
0.10
com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
com.bjpowernode
08-dubbo-api
0.0.1-SNAPSHOT
@EnableDubboConfiguration // 开启dubbo自动配置
@EnableCaching // 开启注解式缓存
@EnableTransactionManagement // 开启事务
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
@Service // 其功能等价于spring-dubbo配置文件中的
@Component // 表示当前类由Spring容器来管理
public class StudentServiceImpl implements StudentService {
……
}
# 功能等价于spring-dubbo配置文件中的
# 该名称是由服务治理平台使用
application:
name: 08-dubbo-provider
# 指定zk注册中心
dubbo:
registry: zookeeper://zkOS:2181
# zk集群作注册中心
# registry: zookeeper://zkOS1:2181?backup=zkOS2:2181,zkOS3:2181
org.slf4j
slf4j-log4j12
1.7.25
test
com.101tec
zkclient
0.10
com.alibaba.spring.boot
dubbo-spring-boot-starter
2.0.0
com.bjpowernode
08-dubbo-api
0.0.1-SNAPSHOT
@EnableDubboConfiguration // 开启dubbo自动配置
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
// 该注解不能添加,否则其会在当前spring容器中通过byType方式查找相应的bean进行注入
// @Autowired
@Reference // 其功能等价于spring-dubbo配置文件的
private StudentService service;
# 功能等价于spring-dubbo配置文件中的
# 该名称是由服务治理平台使用
application:
name: 08-dubbo-consumer
# 指定zk注册中心
dubbo:
registry: zookeeper://zkOS:2181
# zk集群作注册中心
# registry: zookeeper://zkOS1:2181?backup=zkOS2:2181,zkOS3:2181