一、Redisson简介
Redisson是Redis官方推荐的Java版的Redis客户端。
Redisson提供了使用Redis的最简单和最便捷的方法。Redisson的宗旨是促进使用者对Redis的关注分离(Separation of Concern),从而让使用者能够将精力更集中地放在处理业务逻辑上。也可以将Redisson轻松的整合到像Spring和Hibernate这样的常用框架里。
Github链接:
https://github.com/redisson/redisson
二、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");