当前位置: 首页 > news >正文

iis可以做php网站吗网页游戏开服表送首充

iis可以做php网站吗,网页游戏开服表送首充,海外购物网站上填手机号码怎么做,宝安小学网站建设目录#xff1a; 手工启动热部署自动启动热部署热部署范围配置关闭热部署功能第三方bean属性绑定松散绑定常用计量单位应用bean属性校验进制数据转换规则加载测试专用属性加载测试专用配置测试类中启动web环境发送虚拟请求匹配响应执行状态匹配响应体匹配响应体(json)匹配响应…目录 手工启动热部署自动启动热部署热部署范围配置关闭热部署功能第三方bean属性绑定松散绑定常用计量单位应用bean属性校验进制数据转换规则加载测试专用属性加载测试专用配置测试类中启动web环境发送虚拟请求匹配响应执行状态匹配响应体匹配响应体(json)匹配响应头业务层测试事务回滚测试用例设置随机数据内置数据源JdbcTemplateH2数据库redis下载安装与基本使用SpringBoot整合RedisSpringboot读写Redis的客户端Sprintboot操作Redis客户端实现技术切换jedis 1.手工启动热部署 开启开发者工具 激活热部署Ctrl F9  关于热部署 重启Restart自定义开发代码包含类、页面、配置文件等加载位置restart类加载器重载ReLoadjar包加载位置base类加载器 小结 开启开发者工具后启用热部署使用构建项目操作启动热部署(CtrlF9)热部署仅仅加载当前开发者自定义开发的资源不加载jar资源  2.自动启动热部署  设置自动构建项目 ctrlaltshift/  激活方式Idea失去焦点5秒后启动热部署  热部署Idea专业版spring boot(spring mvc)项目_idea springmvc 热部署-CSDN博客 3.热部署范围配置  默认不触发重启的目录列表 /META-INF/maven/META-INF/resources/resources/static/public/templates 自定义不参与重启排除项  4.关闭热部署功能 属性加载优先顺序 设置高优先级属性禁用热部署 5.第三方bean属性绑定 使用 ConfigurationProperties 为第三方 bean 绑定属性 EnableConfigurationProperties注解可以将使用ConfigurationProperties注解对应的类加入Spring容器 注意事项 EnableConfigurationProperties.与Component不能同时使用  解除使用ConfigurationProperties注释警告 6.松散绑定  ConfigurationProperties 绑定属性支持属性名宽松绑定 注意事项 宽松绑定不支持注解Value引用单个属性的方式  ConfigurationProperties绑定属性支持属性名宽松绑定  注意事项 绑定前缀名命名规范:仅能使用纯小写字母、数字、下划线作为合法的字符  7.常用计量单位应用 SpringBoot 支持 JDK8 提供的时间与空间计量单位 JDK8支持的时间与空间计量单位  8.bean属性校验 数据校验 开启数据校验有助于系统安全性J2EE规范中7SR303规范定义了一组有关数据校验相关的API 添加JSR3日3规范坐标与Hibernate校验框架对应坐标 对Bean开启校验功能 设置校验规则 9.进制数据转换规则  字面值表达方式 application.yml servers:ipAddress: 192.168.0.1# ipaddress: 192.168.0.1# ip_address: 192.168.0.1# ip-address: 192.168.0.1# IPADDRESS: 192.168.0.1# IP_ADD_R-E_SS: 192.168.0.1port: 4444timeout: -1serverTimeOut: 3dataSize: 10240dataSource:driverClassName: com.mysql.jdbc.Driver456password: 0127 ApplicationTests package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest class ApplicationTests {Value(${dataSource.password})private String password;Value(${servers.ipAddress})private String msg;Testvoid contextLoads() {System.out.println(msg);System.out.println(password);}}运行结果0127转换成了8进制 10.加载测试专用属性 在启动测试环境时可以通过properties参数设置测试环境专用的属性 优势:比多环境开发中的测试环境影响范围更小仅对当前测试类有效  在启动测试环境时可以通过args参数设置测试环境专用的传入参数 Sprintboot14TestApplicationTests package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Value; import org.springframework.boot.test.context.SpringBootTest;//SpringBootTest(properties {test.proptestValue1}) //SpringBootTest(args {--test.proptestValue2}) SpringBootTest(properties {test.proptestValue1}, args {--test.proptestValue2}) class Sprintboot14TestApplicationTests {Value(${test.prop})private String msg;Testvoid contextLoads() {System.out.println(msg);} }application.yml test:prop: testValue11.加载测试专用配置 使用Import注解加载当前测试类专用的配置 MsgConfig.class package com.example.config;import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;Configuration public class MsgConfig {Beanpublic String msg() {return bean msg;} }ConfigurationTest.class package com.example;import com.example.config.MsgConfig; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.context.annotation.Import;SpringBootTest Import({MsgConfig.class}) public class ConfigurationTest {Autowiredprivate String msg;Testvoid testConfiguration() {System.out.println(msg);} }运行结果 12.测试类中启动web环境  模拟端口 WebTest.class package com.example;import org.junit.jupiter.api.Test; import org.springframework.boot.test.context.SpringBootTest;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) public class WebTest {Testvoid test() {} }13.发送虚拟请求 虚拟请求测试 BookController.class package com.example.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/books) public class BookController {GetMappingpublic String getById() {System.out.println(getById is running...);return sprintboot;} }WebTest.class package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) AutoConfigureMockMvc public class WebTest {Testvoid test() {}Testvoid testWeb(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);mvc.perform(builder);} }运行结果 14.匹配响应执行状态 虚拟请求状态匹配 WebTest.class package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.ResultMatcher; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.result.StatusResultMatchers;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) AutoConfigureMockMvc public class WebTest {Testvoid testWeb(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);mvc.perform(builder);}Testvoid testStatus(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);StatusResultMatchers status MockMvcResultMatchers.status();ResultMatcher ok status.isOk();action.andExpect(ok);} }15.匹配响应体 虚拟请求响应体匹配  WebTest.class package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.ResultMatcher; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.ContentResultMatchers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.result.StatusResultMatchers;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) AutoConfigureMockMvc public class WebTest {Testvoid testWeb(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);mvc.perform(builder);}Testvoid testStatus(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);StatusResultMatchers status MockMvcResultMatchers.status();ResultMatcher ok status.isOk();action.andExpect(ok);}Testvoid testBody(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.string(springboot);action.andExpect(result);} }16.匹配响应体(json) 虚拟请求响应体(json)匹配 BookController.class package com.example.controller;import com.example.domain.Book; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;RestController RequestMapping(/books) public class BookController { // GetMapping // public String getById() { // System.out.println(getById is running...); // return springboot; // }GetMappingpublic Book getById() {System.out.println(getById is running...);Book book new Book();book.setId(1);book.setName(springboot);book.setType(springboot);book.setDescription(springboot);return book;} }WebTest.class package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.RequestBuilder; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.ResultMatcher; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.ContentResultMatchers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.result.StatusResultMatchers;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) AutoConfigureMockMvc public class WebTest {Testvoid testWeb(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);mvc.perform(builder);}Testvoid testStatus(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);StatusResultMatchers status MockMvcResultMatchers.status();ResultMatcher ok status.isOk();action.andExpect(ok);}Testvoid testBody(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.string(springboot);action.andExpect(result);}Testvoid testJson(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.json({\id\:1,\name\:\springboot\,\type\:\springboot\,\description\:\springboot\});action.andExpect(result);} }17.匹配响应头 虚拟请求响应头匹配 WebTest.class  package com.example;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.web.servlet.MockMvc; import org.springframework.test.web.servlet.ResultActions; import org.springframework.test.web.servlet.ResultMatcher; import org.springframework.test.web.servlet.request.MockHttpServletRequestBuilder; import org.springframework.test.web.servlet.request.MockMvcRequestBuilders; import org.springframework.test.web.servlet.result.ContentResultMatchers; import org.springframework.test.web.servlet.result.HeaderResultMatchers; import org.springframework.test.web.servlet.result.MockMvcResultMatchers; import org.springframework.test.web.servlet.result.StatusResultMatchers;SpringBootTest(webEnvironment SpringBootTest.WebEnvironment.DEFINED_PORT) AutoConfigureMockMvc public class WebTest {Testvoid testWeb(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);mvc.perform(builder);}Testvoid testStatus(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);StatusResultMatchers status MockMvcResultMatchers.status();ResultMatcher ok status.isOk();action.andExpect(ok);}Testvoid testBody(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.string(springboot);action.andExpect(result);}Testvoid testJson(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.json({\id\:1,\name\:\springboot\,\type\:\springboot\,\description\:\springboot\});action.andExpect(result);}Testvoid testContentType(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);HeaderResultMatchers header MockMvcResultMatchers.header();ResultMatcher contentType header.string(Content-Type, application/json);action.andExpect(contentType);}Testvoid testGetById(Autowired MockMvc mvc) throws Exception {MockHttpServletRequestBuilder builder MockMvcRequestBuilders.get(/books);ResultActions action mvc.perform(builder);StatusResultMatchers status MockMvcResultMatchers.status();ResultMatcher ok status.isOk();action.andExpect(ok);HeaderResultMatchers header MockMvcResultMatchers.header();ResultMatcher contentType header.string(Content-Type, application/json);action.andExpect(contentType);ContentResultMatchers content MockMvcResultMatchers.content();ResultMatcher result content.json({\id\:1,\name\:\springboot\,\type\:\springboot\,\description\:\springboot\});action.andExpect(result);} }18.业务层测试事务回滚 为测试用例添加事务SpringBoot会对测试用例对应的事务提交操作进行回滚 如果想在测试用例中提交事务可以通过Rollback注解设置 19.测试用例设置随机数据  测试用例数据通常采用随机值进行测试使用SpringBoot提供的随机数为其赋值 ${random.int}表示随机整数${random.int(10)}表示10以内的随机数${random.int(10,20)}表示10到20的随机数其中()可以是任意字符例如[]!!均可  20.内置数据源  现有数据层解决方案技术选型 数据源:DruidDataSource持久化技术:MyBatis-Plus /MyBatis数据库:MySQL 格式一 格式二 SpringBoot提供了3种内嵌的数据源对象供开发者选择 HikariCP.Tomcat提供DataSource.Commons DBCP 通用配置无法设置具体的数据源配置信息仅提供基本的连接相关配置如需配置在下一级配置中设置具体设定 21.JdbcTemplate 现有数据层解决方案技术选型 数据源:DruidDataSource持久化技术: MyBatls-Plus / MyBatis数据库:MySQL 内置持久化解决方案——JdbcIemplate JdbcTemplate配置 22.H2数据库 SpringBoot提供了3种内嵌数据库供开发者选择提高开发测试效率 H2HSQLDerby 导入H2相关坐标  设置当前项目为web工程并配置H2管理控制台参数 访问用户名sa默认密码123456  操作数据库(创建表) 设置访问数据源 H2数据库控制台仅用于开发阶段线上项目请务必关闭控制台功能  SpringBoot可以根据url地址自动识别数据库种类在保障驱动类存在的情况下可以省略配置 现有数据层解决方案技术选型  BookDao.interface package com.example.springboot_15_sql.dao;import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.example.springboot_15_sql.domain.Book; import org.apache.ibatis.annotations.Mapper;Mapper public interface BookDao extends BaseMapperBook {}Book.class  package com.example.springboot_15_sql.domain;import lombok.Data;Data public class Book {private int id;private String name;private String type;private String description; }Sprintboot15SqlApplication.class package com.example.springboot_15_sql;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplication public class Springboot15SqlApplication {public static void main(String[] args) {SpringApplication.run(Springboot15SqlApplication.class, args);}}application.yml #server: # port: 8080 # #spring: # datasource: # url: jdbc:mysql://localhost:3308/test_db # hikari: # driver-class-name: com.mysql.cj.jdbc.Driver # username: root # password: 666666 # maximum-pool-size: 50#mybatis-plus: # global-config: # db-config: # table-prefix: tbl_ # id-type: auto # configuration: # log-impl: org.apache.ibatis.logging.stdout.StdOutImplserver:port: 8080spring:h2:console:enabled: truepath: /h2datasource:url: jdbc:h2:~/testhikari:driver-class-name: org.h2.Driverusername: sapassword: 123456mybatis-plus:global-config:db-config:table-prefix: tbl_id-type: autoconfiguration:log-impl: org.apache.ibatis.logging.stdout.StdOutImpl pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.7.17/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIdspringboot_15_sql/artifactIdversion0.0.1-SNAPSHOT/versionnamespringboot_15_sql/namedescriptionspringboot_15_sql/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependency!-- dependency--!-- groupIdcom.mysql/groupId--!-- artifactIdmysql-connector-j/artifactId--!-- scoperuntime/scope--!-- /dependency--dependencygroupIdorg.projectlombok/groupIdartifactIdlombok/artifactIdoptionaltrue/optional/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency!-- dependency--!-- groupIdcom.baomidou/groupId--!-- artifactIdmybatis-plus-boot-starter/artifactId--!-- version3.4.1/version--!-- /dependency--!-- dependency--!-- groupIdcom.alibaba/groupId--!-- artifactIddruid-spring-boot-starter/artifactId--!-- version1.2.6/version--!-- /dependency--!-- dependency--!-- groupIdorg.springframework.boot/groupId--!-- artifactIdspring-boot-starter-jdbc/artifactId--!-- /dependency--!-- dependency--!-- groupIdorg.springframework.boot/groupId--!-- artifactIdspring-boot-starter-jdbc/artifactId--!-- /dependency--dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependencydependencygroupIdcom.h2database/groupIdartifactIdh2/artifactId/dependencydependencygroupIdcom.baomidou/groupIdartifactIdmybatis-plus-boot-starter/artifactIdversion3.4.1/version/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationimagebuilderpaketobuildpacks/builder-jammy-base:latest/builder/imageexcludesexcludegroupIdorg.projectlombok/groupIdartifactIdlombok/artifactId/exclude/excludes/configuration/plugin/plugins/build/projectSprintboot15SqlApplicationTests.class package com.example.springboot_15_sql;import com.example.springboot_15_sql.dao.BookDao; import com.example.springboot_15_sql.domain.Book; import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.core.RowMapper;import java.sql.ResultSet; import java.sql.SQLException; import java.util.List; import java.util.Map;SpringBootTest class Springboot15SqlApplicationTests {Autowiredprivate BookDao bookDao;Testvoid test() {bookDao.selectById(1);}Testvoid testJdbcTemplate(Autowired JdbcTemplate jdbcTemplate) {String sql select * from tbl_book; // ListMapString, Object maps jdbcTemplate.queryForList(sql); // System.out.println(maps);RowMapperBook rm new RowMapperBook() {Overridepublic Book mapRow(ResultSet rs, int rowNum) throws SQLException {Book temp new Book();temp.setId(rs.getInt(id));temp.setName(rs.getString(name));temp.setType(rs.getString(type));temp.setDescription(rs.getString(description));return temp;}};ListBook list jdbcTemplate.query(sql, rm);System.out.println(list);}// Test // void testJdbcTemplateSave(Autowired JdbcTemplate jdbcTemplate) { // String sql insert into tbl_book values(null,springboot,springboot,springboot); // jdbcTemplate.update(sql); // }Testvoid testJdbcTemplateSave(Autowired JdbcTemplate jdbcTemplate) {String sql insert into tbl_book values(3,springboot3,springboot3,springboot3);jdbcTemplate.update(sql);}}23.redis下载安装与基本使用 市面上常见的NoSQL解决方案 RedisMongoES Redis是一款key-value存储结构的内存级NoSQL数据库 支持多种数据存储格式支持持久化支持集群 Redis下载Windows版 https://github.com/tporadowski/redis/releases Redis安装与启动( Windows版) Windows解压安装或一键式安装服务端启动命令 客户端启动命令 24.SpringBoot整合Redis 导入SpringBoot整合Redis坐标 配置Redis(采用默认配置) 主机: localhost(默认)端口:6379(默认) RedisTemplate提供操作各种数据存储类型的接口API 客户端:RedisTemplate pom.xml ?xml version1.0 encodingUTF-8? project xmlnshttp://maven.apache.org/POM/4.0.0 xmlns:xsihttp://www.w3.org/2001/XMLSchema-instancexsi:schemaLocationhttp://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsdmodelVersion4.0.0/modelVersionparentgroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-parent/artifactIdversion2.5.4/versionrelativePath/ !-- lookup parent from repository --/parentgroupIdcom.example/groupIdartifactIdsprintboot_16_redis/artifactIdversion0.0.1-SNAPSHOT/versionnamesprintboot_16_redis/namedescriptionsprintboot_16_redis/descriptionpropertiesjava.version1.8/java.version/propertiesdependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-redis/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-test/artifactIdscopetest/scope/dependency/dependenciesbuildpluginsplugingroupIdorg.springframework.boot/groupIdartifactIdspring-boot-maven-plugin/artifactIdconfigurationimagebuilderpaketobuildpacks/builder-jammy-base:latest/builder/image/configuration/plugin/plugins/build/projectapplication.yml spring:redis:host: localhostport: 6379Springboot16RedisApplicationTests.class package com.example.sprintboot_16_redis;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.HashOperations; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.ValueOperations;SpringBootTest class Sprintboot16RedisApplicationTests {Autowiredprivate RedisTemplate redisTemplate;Testvoid set() {ValueOperations ops redisTemplate.opsForValue();ops.set(age, 41);}Testvoid get() {ValueOperations ops redisTemplate.opsForValue();Object age ops.get(age);System.out.println(age);}Testvoid hset() {HashOperations ops redisTemplate.opsForHash();ops.put(info, a, aa);}Testvoid hget() {HashOperations ops redisTemplate.opsForHash();Object val ops.get(info, a);System.out.println(val);}}25.Springboot读写Redis的客户端 客户端:RedisTemplate以对象作为key和value内部对数据进行序列化 客户端: StringRedisTemplate以字符串作为key和value与Redis客户端操作等效  StringRedisTemplateTest.class package com.example.sprintboot_16_redis;import org.junit.jupiter.api.Test; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.data.redis.core.StringRedisTemplate; import org.springframework.data.redis.core.ValueOperations;SpringBootTest public class StringRedisTemplateTest {Autowiredprivate RedisTemplate redisTemplate;Autowiredprivate StringRedisTemplate stringRedisTemplate;Testvoid get1() {ValueOperationsString, String ops stringRedisTemplate.opsForValue();String name ops.get(name);System.out.println(name);}Testvoid get2() {ValueOperations ops redisTemplate.opsForValue();Object name ops.get(name);System.out.println(name);} }26.Sprintboot操作Redis客户端实现技术切换jedis 客户端选择jedis 配置客户端 配置客户端专用属性 lettcus与jedis区别 jedis连接Redis服务器是直连模式当多线程模式下使用jedis会存在线程安全问题解决方案可以通过配置连接池使每个连接专用这样整体性能就大受影响。lettcus基于Netty框架进行与Redis服务器连接底层设计中采用StatefulRedisConnectian。StatefulRedisConnection自身是线程安全的可以保障并发访问安全问题所以一个连接可以被多线程复用。当然lettcus也支持多连接实例一起工作.
http://www.w-s-a.com/news/836172/

相关文章:

  • 赣州网站开发公司怎么才能设计好一个网站
  • 个人网站建设分几个步走培训网站开发哪个好
  • 智能网站价格河北城乡建设网站
  • 做动画在线观看网站网上花店 网站源代码
  • 做网站项目体会商业信息
  • 深圳的设计网站谷歌浏览器下载手机版官网
  • 苏州网站建设都找全网天下外贸响应式网站设计
  • 揭阳专业做网站网站迁移教材
  • 手机上怎么上传网站吗工程信息网站建设
  • 用手机建网站微信手机网站流程
  • 专注软件优化分享的网站梧州网页设计
  • 长春火车站和高铁站是一个站吗公司名称注册查询系统
  • 便利的集团网站建设网页的依托网站
  • 茶叶网站建设题库制作助手app
  • 网站建设栏目层级北京网站搭建公司电话
  • 网站开发运营经理打开百度竞价页面是网站是什么
  • 国内最专业的设计网站建设现在用什么语言做网站
  • 湖南网站开发 岚鸿象山县建设工程招投标网站
  • 长沙免费网站排名wordpress 教学
  • 专门做app的网站html代码是什么
  • 临沂网站制作建设欧米茄表官网
  • 北京模板网站开发全包网站建设的第三方平台
  • 在凡科做的网站怎么推广网页模板下载 免费 html
  • 有关网站建设的标题仿亿欧网wordpress
  • 网站建设公司销售招聘常用的搜索引擎有哪些?
  • wordpress中.htaccess新上线的网站怎么做优化
  • 家教网站怎么做网站建设品牌推荐
  • 青岛做外贸网站建设茶叶公司网站建设策划书
  • 个人电脑做网站主机三合一网站
  • 用html框架做网站怎么在.Net中做团购网站