redission和spring整合配置

一. 哨兵模式配置

spring:

  redis:

    sentinel:

      master: lsnrrdscmdbp01      # 这个由redis团队提供, 主节点名称

      nodes:

        - ip:26379

        - ip:26379

        - ip:26379

    password: 密码

 

二. 集群版(非哨兵模式)

spring:

  redis:

    cluster:

      nodes:

        - IP1:Port

        - IP2:Port

        - IP3:Port

      connectionTimeout: 6000

      soTimeout: 6000

      maxAttempts: 5

      password: 密码

三. 单机版配置

spring:

   redis:
       database: 0
  host: ip
  port: 6379
  password: 密码
  timeout: 1000

 

四. pom.xml文件

<dependency>
  <groupId>org.redisson</groupId>
  <artifactId>redisson-spring-boot-starter</artifactId>
  <exclusions>
    <exclusion>
      <artifactId>spring-boot-starter-web</artifactId>
      <groupId>org.springframework.boot</groupId>
    </exclusion>
    <exclusion>
      <artifactId>netty-common</artifactId>
      <groupId>io.netty</groupId>
    </exclusion>
    <exclusion>
      <artifactId>netty-codec</artifactId>
      <groupId>io.netty</groupId>
    </exclusion>
    <exclusion>
      <artifactId>netty-handler</artifactId>
      <groupId>io.netty</groupId>
    </exclusion>
  </exclusions>
  <version>3.15.3</version>
</dependency>

五. 常用示例
@Autowired
private RedissonClient redissonClient;

1. map方式存储, 例如: 用户名作为key, token作为值
RMap<Object, Object> map = redissonClient.getMap("logged_in_user_account_map");
map.put(userInfo.getUserAccount(), token);

2. bucket方式存储用户信息
RBucket<Object> bucket = redissonClient.getBucket("login_user_entity" + token); // 获取一个bucket桶(如果存在则直接获取, 不存在则会新建一个)
bucket.set(userInfo, 30, TimeUnit.MINUTES); // 存储过期30分种钟
bucket.set(userInfo); // 存储
bucket.getAndDelete(); // 删除
bucket.expire(30, TimeUnit.MINUTES); // 用户登陆状态,进行续期
UserLoginInfo userInfo = (UserLoginInfo) bucket.get(); // 获取用户信息

 

posted @ 2022-06-06 23:17  剑阁丶神灯  阅读(1212)  评论(0编辑  收藏  举报