Skip to content

Redis

此模块基于 Redis, 扩展了一些对Redis的常规操作,以简化开发。

集成

添加依赖

xml
<dependency>
    <groupId>com.wkclz.redis</groupId>
    <artifactId>shrimp-cloud-redis</artifactId>
    <version>${lastVersion}</version>
</dependency>

配置

  • 参照 spring-boot-starter-data-redis 的官方配置即可
spring:
  redis:
    database: 0
    host: 127.0.0.1
    port: 6379
    password: pwd
    timeout: 3000

特性

序列化

  • 已对 Redis 的 一些 key 和 value 做了定制的序列化配置,如下
java
@Configuration
public class ResetRedisTemplateSerializer {
    @Autowired(required = false)
    public void setRedisTemplate(RedisTemplate redisTemplate) {
        RedisSerializer stringSerializer = new StringRedisSerializer();
        redisTemplate.setKeySerializer(stringSerializer);
        redisTemplate.setValueSerializer(stringSerializer);
        redisTemplate.setHashKeySerializer(stringSerializer);
        redisTemplate.setHashValueSerializer(stringSerializer);
    }
}

工具

日常使用

java

@Component
public class CustomComponent {
    @Autowired
    private RedisTemplate redisTemplate;

    // redis 的其他操作
}

Redis 锁

java
package com.example.demo;
@Service
public class DemoService {
    @Resource
    private RedisLockHelper redisLockHelper;

    public void demo() {
        // 添加锁
        boolean rock = redisLockHelper.lock("key");
        if (rock) {
          System.out.println("成功获取锁");
        }
    }
}

ID 生成器

java
package com.example.demo;
@Service
public class DemoService {
    @Resource
    private RedisIdGenHelper redisIdGenHelper;
    public void demo() {
        // id 生成
        String id = redisIdGenHelper.nextShot();
        System.out.println(id);
    }
}

Redis 消息队列

待完善

  • 缓存更新通知
  • 消峰填谷

Released under the MIT License.