SpringBoot integrates Spring Cache to simplify distributed cache development

prefaceLast blog post, we This paper deeply introduces the integration of spring boot and Redis We use RedisTemplate or StringRedisTemplate to select different data structures in combination with scenarios, which will cause the cache code and business code to be tightly coupled. Is there a simpler way?Answer: Yes, SpringCache.In this blog post, ...

Posted on Tue, 07 Dec 2021 03:34:41 -0500 by siri

java version of gRPC practice 6: the client dynamically obtains the server address

Links to the full series of "java version gRPC actual combat"Generate code with protoService publishing and invocationServer streamClient streamBidirectional flowThe client dynamically obtains the server addressRegistration discovery based on eurekaWhy does the client get the server address dynamicallyThis article is the sixth in the ...

Posted on Tue, 07 Dec 2021 01:50:26 -0500 by Jaguar

How to integrate custom SPI with sentinel to realize fuse current limiting

preface We talked before Talk about how to implement an SPI with interceptor function . At that time, the core idea of our implementation was to use responsibility chain + dynamic agent. Today, let's talk about how to integrate sentinel to realize fuse current limiting through dynamic agent Pre knowledge Introduction to alibaba sentinel Se ...

Posted on Tue, 07 Dec 2021 03:39:45 -0500 by alexinjamestown

Transplantation of LVGL V8 on STM32F429

LVGL is a good thing to use. Now there are more and more tutorials on the Internet, many of which are for V7 and below, but the upgrade of V8 for V7 is still very large, and the use methods of many controls are different, so there needs to be a suitable migration project to use. I've been trying to transplant these two days, and there have bee ...

Posted on Tue, 07 Dec 2021 03:55:35 -0500 by harristweed

Kotlin: how to achieve multi-threaded synchronization?

Problem backgroundMultithreaded tasks to be executed: Task 1 and task 2 are executed in parallel; When all execution is completed, execute task 3.// Each task takes time to simulate through sleep val task1: () -> String = { sleep(2000) "Hello".also { println("task1 finished: $it") } } val task2: () -> String = { sleep(2000) ...

Posted on Tue, 07 Dec 2021 03:49:30 -0500 by lulon83

Research on MySQL coding

preface It was in 2002, and MySQL 4.1 began to support UTF-8 coding RFC 2279 It is stipulated that the code uses 1 ~ 6 bytes to store a single character, and MySQL developers checked it in September of the same year Source code The UTF-8 encoding is changed from the maximum 6 bytes to 3 bytes, so there is the current UTF8MB3. As we all know, U ...

Posted on Tue, 07 Dec 2021 02:36:02 -0500 by misterguru