一、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");