1. Add dependencies
<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>
2. Add redis configuration
spring: redis: host: **** password:**** port: 6379 # 连接超时时间(毫秒) timeout: 1000 # Redis默认情况下有16个分片,这里配置具体使用的分片,默认是0 database: 0 # 连接池配置 lettuce: pool: # 连接池最大连接数(使用负值表示没有限制) 默认 8 max-active: 8 # 连接池最大阻塞等待时间(使用负值表示没有限制) 默认 -1 max-wait: -1 # 连接池中的最大空闲连接 默认 8 max-idle: 8 # 连接池中的最小空闲连接 默认 0 min-idle: 0
3. Implement logic
@Autowired private StringRedisTemplate stringRedisTemplate; @Override public String testRedis(){ ExecutorService executorService = Executors.newFixedThreadPool(1000); IntStream.range(0, 1000).forEach(i -> executorService.execute(() -> stringRedisTemplate.opsForValue().increment("lcl",1))); System.out.println("lcl1=============" + stringRedisTemplate.opsForValue().get("lcl")); stringRedisTemplate.opsForValue().set("lcl1","val1"); String val1 = stringRedisTemplate.opsForValue().get("lcl1"); System.out.println("lcl1=============" + val1); String key = "redis:test:demo1"; User user = new User(); user.setId(100L); user.setUsername("u2"); user.setPassword("p2"); stringRedisTemplate.opsForValue().set(key, JSON.toJSONString(user)); String valUser = stringRedisTemplate.opsForValue().get(key); System.out.println("redis:test:demo1=============" + valUser); User getUser = JSON.parseObject(valUser, User.class); System.out.println("redis:test:demo1=============" + getUser.getUsername()+ "========" + getUser.getPassword()); return null; }
Test results:
Since redis has String, list, set, zset, hash, geo, etc. type, so when using it, more than just the opsForValue() method is used. The specific corresponding methods are as follows:
opsForValue: Corresponds to String (string)
opsForZSet: Corresponds to ZSet (ordered set)
opsForHash: Corresponds to Hash (Hash)
opsForList: Corresponds to List (list)
opsForSet: Corresponds to Set (set)
opsForGeo: Corresponds to GEO (geographic location)
The above is the detailed content of How to integrate Lettuce redis in SpringBoot. For more information, please follow other related articles on the PHP Chinese website!