开发者学堂课程【Java Spring Boot 2.6.0开发实战-1024程序员节创造营公益课:高并发分布式缓存 Redis6.0(二)】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/903/detail/14342
高并发分布式缓存 Redis6.0(二)
九,实战演练
打开虚拟机进入命令行界面,输入以下指令:
>ls
>
src/redis-server redis.conf
//配置文件,将 redis.conf改成自己的服务器地址
>
src/redis-server redis.conf
//使用连接池时需要自行配置
>
src/redis-cli -h 192.168.2.131
>
get 1
>
set 2 b
>
get 2
>
exit
> src/redis-cli -h 192.168.2.131
>
get 2
注意:在微信里讲了敏感的话语,微信可以通过定位系统找到你,一般的大型软件都有此功能。
需掌握的重要依赖:
<dependency>
<groupld> org.springframework.boot</groupld><artifactld>spring-boot-starter-data-redis</artifactld></dependency>
<dependency>
<groupld>org.apache.commons</groupld><artifactld>commons-pool2</artifactld>
</dependency>
Config 下的 LettuceRedisConfig.java 代码展示:
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.lettuce.LettuceConnectionFacimport org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.GenericJackson23sonRedisSeriimport org.springframework.data.redis.serializer.stringRedisSerializer;
//自定义 RedisTemplate,支持更多数据类型
@Configuration
public class LettuceRedisConfig {
@Bean
public RedisTemplate<String,Serializable> redisTemplate(LettuceConnectio
RedisTemplate<String,Serializable> redisTemplate = new RedisTemplateredisTemplate.setKeySerializer(new StringRedisserializer());
redisTemplate.setValueSerializer(new GenericJackson23sonRedisSerializredisTemplate.setConnectionFactory(connectionFactory);
return redisTemplate;
配置启动器代码展示:
spring.data.mongodb.host=localhost
spring.data.mongodb.port=27017
#spring.data.mongodb.username=root
#spring.data.mongodb.password=1234qwer
#Redis 服务器地址
spring.redis.host=192.168.2.131
#Redis 数据库索引(默认为0)
spring.redis.database=0
#Redis 服务器连接端口
spring.redis.port=6379
#Redis 服务器连接密码
(默认为空)#spring.redis.password=1234qwer
#链接超时单位 ms(毫秒)
#spring.redis.timeout=3000
###########林####Redis线程池设置##############
#连接池最大连接数(使用负值表示没有限制)默认8
spring.redis.lettuce.pool.max-active=8
#连接池最大阻塞等待时间(使用负值表示没有限制)默认-1
spring.redis.lettuce. pool.max-wait=-1
#连接池中的最大空闲连接默认8
spring.redis. lettuce.pool.max-idle=8
#连接池中的最小空闲连接默认0
spring.redis.lettuce.pool.min-idle=o
RedisController 类部分代码演示:
@GetMapping
public String hello() {
return "Hello Java Spring Data Redis";
}
@RequestMapping( " / add")@ResponseBody
public int addUsers() {
for (int i = 0; i < 100; i++) {
Users entity = new Users();entity.setId(i);
entity.setName( "Java Spring Boot 2.60实战Redis: " + i);entity.setPassword( "password12345678” +i);
serializableRedisTemplate.opsForValue().set("redis" + i, entity);
}
return 100;
}
@Autowired
private RedisTemplate<String,string> strRedisTemplate;
@Autowired
privateRedisTemplate<String,Serializable> serializableRedisTemplate;
@GetMapping
public string hello( ) {
return "Hello Java Spring Data Redis";
}
@RequestMapping( " / add")@ResponseBody
public int addUsers( ) {
for (int i = 0; i < 100; i++) {
Users entity = new Users();entity.setId(i);
entity.setName( "Java Spring Boot 2.60实战Redis: " + i);
@RequestMapping( "/get/{id}")@ResponseBody
public Users getUserById(@PathVariable int id) {
System.out.println(id);
Users user= (Users)
serializableRedisTemplate.opsForValue().get("redreturn user;
}}
注意:多关注其算法和连接池
十,高级面试题
l Redis 6.0 新特性
l Redis 的数据结构算法 Redis 连接池
l Spring Data Transaction 原理
l Redis 安全连接
l 索引机制
l GEO 地理位置查询
l Spring Data Redis Reactive API 实现
l Spring Data Transaction 事务实现
l Spring Data Redis 消息推送实现
l Spring Boot Cache 回收
l Spring Data Redis 分布式锁原理