一、Redisson简介

 

Redisson是Redis官方推荐的Java版的Redis客户端。

Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。也可以将Redisson轻松的整合到像SpringHibernate这样的常用框架里。

Github链接:

GitHub - redisson/redisson: Redisson - Redis Java client with features of In-Memory Data Grid. Over 50 Redis based Java objects and services: Set, Multimap, SortedSet, Map, List, Queue, Deque, Semaphore, Lock, AtomicLong, Map Reduce, Publish / Subscribe, Bloom filter, Spring Cache, Tomcat, Scheduler, JCache API, Hibernate, MyBatis, RPC, local cache ...

二、Redisson使用

(一)引入依赖

<dependency>
   <groupId>org.redisson</groupId>
   <artifactId>redisson</artifactId>
   <version>3.16.3</version>
</dependency>  

(二)具体使用

package com.cskaoyan;

import org.redisson.Redisson;
import org.redisson.api.*;
import org.redisson.config.Config;

import java.util.Iterator;
import java.util.List;


/**
 * @Classname MyRedissionTest
 * @Description
 * @Author terrance_swn
 */
public class MyRedissionTest {
    public static void main(String[] args) {

        //1 创建redission的config对象并配置redis服务器(此处使用singleServer)
        Config config = new Config();
        config.useSingleServer().setAddress("redis://localhost:6379");

        //2 创建redis客户端redissionClient
        RedissonClient redissonClient = Redisson.create(config);

        //3 使用五种数据结构
        useString(redissonClient);

        useHash(redissonClient);

        useList(redissonClient);

        useSet(redissonClient);

        useSortedSet(redissonClient);


    }

    /**
     * Hash类型
     * @param redissonClient
     */
    private static void useHash(RedissonClient redissonClient) {

        RMap<Object, Object> map = redissonClient.getMap("myFirstMap");
        map.put("productId2","100055301");

        Object productId2 = map.get("productId2");
        System.out.println(productId2);
    }

    /**
     * String 数据类型
     * @param redissonClient
     */
    private static void useString(RedissonClient redissonClient) {

        RBucket<Object> bucket = redissonClient.getBucket("myString-key");
        bucket.set("{\"userName\":\"test\",\"userPwd\":\"test\",\"email\":\"xxx@163.com\",\"captcha\":\"3552\"}");

        Object o = bucket.get();
        System.out.println(o);
    }

    /**
     * List数据类型
     * @param redissonClient
     */
    private static void useList(RedissonClient redissonClient) {
        List<String> list = redissonClient.getList("listKey-32");
        list.add("listValue1");
        list.add("listValue2");

        String s = list.get(0);
        System.out.println(s);
        System.out.println(list);
    }

    /**
     * Set数据类型
     * @param redissonClient
     */
    private static void useSet(RedissonClient redissonClient) {
        RSet<String> set = redissonClient.getSet("setKey-32");
        set.add("setValue");

        Iterator<String> iterator = set.iterator();
        while (iterator.hasNext()) {
            String next = iterator.next();
            System.out.println(next);
        }
    }

    /**
     * Zset数据类型
     * @param redissonClient
     */
    private static void useSortedSet(RedissonClient redissonClient) {
        RScoredSortedSet<String> sortedSet
                = redissonClient.getScoredSortedSet("sortedKey-32");

        sortedSet.add(1.0, "zs");
        sortedSet.add(2.0, "lisi");

        Double score = sortedSet.getScore("zs");
        System.out.println(score);
        Integer rank = sortedSet.rank("zs");
        System.out.println(rank);
    }
}

(三)数据类型的解释

1.Hash

RMap<Object, Object> map = redissonClient.getMap("myFirstMap");
map.put("productId2","100055301");

 2.String

  RBucket<Object> bucket = redissonClient.getBucket("myString-key");
  bucket.set("{\"userName\":\"test\",\"userPwd\":\"test\",\"email\":\"xxx@163.com\",\"captcha\":\"3552\"}");

 3.List

   List<String> list = redissonClient.getList("listKey-32");
   list.add("listValue1");
   list.add("listValue2");

 4.Set

   RSet<String> set = redissonClient.getSet("setKey-32");
   set.add("setValue");

 5.Zset

 RScoredSortedSet<String> sortedSet = redissonClient.getScoredSortedSet("sortedKey-32");
 sortedSet.add(1.0, "zs");
 sortedSet.add(2.0, "lisi");

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐