首页 技术 正文
技术 2022年11月8日
0 收藏 945 点赞 1,326 浏览 3886 个字

Redis介绍:

  是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API

特性:

  • Redis 与其他 key – value 缓存产品有以下三个特点:
  • Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
  • Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
  • Redis支持数据的备份,即master-slave模式的数据备份。

添加依赖:

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>
<!--添加连接池的依赖-->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-pool2</artifactId>
</dependency>
 

 配置redis的链接信息:

#Redis
spring:
redis:
host: localhost # Redis服务器地址
database: 0 # Redis数据库索引(默认为0)
port: 6379 # Redis服务器连接端口
password: # Redis服务器连接密码(默认为空)
jedis:
pool:
max-active: 8 # 连接池最大连接数(使用负值表示没有限制)
max-wait: -1ms # 连接池最大阻塞等待时间(使用负值表示没有限制)
max-idle: 8 # 连接池中的最大空闲连接
min-idle: 0 # 连接池中的最小空闲连接
timeout: 3000ms # 连接超时时间(毫秒)

编写控制器controller,这里注意:

    RedisTemplate和StringRedisTemplate的区别:

      1. 两者的关系是StringRedisTemplate继承RedisTemplate。

      2. 两者的数据是不共通的;也就是说StringRedisTemplate只能管理StringRedisTemplate里面的数据,RedisTemplate只能管理RedisTemplate中的数据。

      3. SDR默认采用的序列化策略有两种,一种是String的序列化策略,一种是JDK的序列化策略。

      StringRedisTemplate默认采用的是String的序列化策略,保存的key和value都是采用此策略序列化保存的。

      RedisTemplate默认采用的是JDK的序列化策略,保存的key和value都是采用此策略序列化保存的。

@RestController
public class HelloController {
@Autowired
StringRedisTemplate stringRedisTemplate;
// RedisTemplate redisTemplate; @GetMapping("/set")
public void set() {
ValueOperations ops = stringRedisTemplate.opsForValue();
ops.set("keyYun", "valueYun");
} @GetMapping("/get")
public void get(){
ValueOperations<String,String> ops = stringRedisTemplate.opsForValue();
System.out.println(ops.get("keyYun"));
}
}

 启动程序,打印出结果

SpringBoot的学习二:整合Redis,JPA,Mybatis

 SpringBoot整合JPA:

  JPA:用于对象持久化的API,是JavaEE 5.2平台标准的ORM规范,使得应用程序以统一的方式访问持久层

注入依赖,并添加Druid依赖

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency><dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.28</version>
<scope>runtime</scope>
</dependency>

 添加配置:

# 数据库的基本配置
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://loaclhost:3306/day04?useUnicode=true&characterEncoding=UTF-8
spring.datasource.type=com.alibaba.druid.pool.DruidDataSource
# JPA配置
spring.jpa.database=mysql
# 在控制台打印SQL
spring.jpa.show-sql=true
# 数据库平台
spring.jpa.database-platform=mysql
# 每次启动项目时,数据库初始化策略
spring.jpa.hibernate.ddl-auto=update
# 指定默认的存储引擎为InnoDB
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL57Dialect

 创建一个实体类

//@Entity:表明这是一个实体类,项目启动时会自动针对该类生成一张表
@Entity(name = "t_user")
public class user {
@Id //表示这个字段时id,唯一不标识
// GenerationType.IDENTITY:自增长
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
private String name;
private String address;
  //省略set和get方法  

编写接口如下

//JpaRepository:提供了一些基本的数据操作方法,例如保存,更新,删除,分页查询等
public interface userDao extends JpaRepository<user,Integer > {
}

 编写测试类

@RunWith(SpringRunner.class)
@SpringBootTest
class Demo3ApplicationTests { @Autowired
userDao userDao; @Test
void contextLoads() {
user u = new user();
u.setName("愚者");
u.setAddress("理想国度");
userDao.save(u);
}}

 运行,数据库中查看结果

 SpringBoot的学习二:整合Redis,JPA,Mybatis

redis单机版配置以上信息就行了,具体测试请参考博客https://blog.csdn.net/weixin_38312502/article/details/80916222

Spring Boot 整合myBatis

注入依赖

<!--mybatis起步依赖-->
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>1.1.1</version>
</dependency>

<!– MySQL连接驱动 –>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>

创建实体类user,具体参考上面

编写mapper,

@Mapper
public interface userMapper {
@Select("select * from t_user")
public List<user> findAll();
}  

 添加数据源库配置,具体参考上面 

编写测试类

 @Autowired
userMapper userMapper; @Test
public void find(){
List<user> users = userMapper.findAll();
for (user u :users){
System.out.println(u);
}
}

 控制台运行程序,打印结果:

SpringBoot的学习二:整合Redis,JPA,Mybatis

注意事项: mapper接口要加入@Mapper注解,这是配置mapper扫描,如果想一劳永逸的话,就在程序接口加全局扫描

@SpringBootApplication
@MapperScan(basePackages = "com.yun.demo3.mapper")
public class Demo3Application { public static void main(String[] args) {
SpringApplication.run(Demo3Application.class, args);
}}
相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,088
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,564
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,412
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,185
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,822
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,905