Redisson的几个常用客户端
一、RedissonClient
1、创建
通过Config对象配置RedissonClient所需要的参数,然后获取RedissonClient对象即可。
Config config = new Config();
config.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedissonClient redisson = Redisson.create(config);
2、基本使用
2.1、字符串操作
RMap<String, Object> map = redisson.getMap("map");
map.put("name", "Lucy");
String name = (String)map.get("name");
System.out.println(name); // "Lucy"
2.2、对象操作
RObject object = redisson.getAtomicObject("object");
object.set(new MyObject(1, "hello"));
MyObject val = (MyObject)object.get();
System.out.println(val); // MyObject{id=1, name='hello'}
2.3、集合操作
RedissonClient提供了多种分布式集合类型,包括List、Set、SortedSet等
RList<String> list = redisson.getList("list");
list.add("hello");
list.add("world");
System.out.println(list); // ["hello", "world"]RSet<String> set = redisson.getSet("set");
set.add("java");
set.add("python");
System.out.println(set); // ["java", "python"]
2.4、锁操作
RedissonClient的分布式锁非常方便
RLock lock = redisson.getLock("lock");
lock.lock();
try {// 执行需要加锁的代码块
} finally {lock.unlock();
}
3、RedissonClient应用场景
(1)分布式锁
分布式环境下,为了避免并发执行同一个任务,需要加锁。使用RedissonClient的分布式锁非常方便,可以用于多个进程间的同步互斥。
(2)分布式集合
分布式环境下,为了方便多个进程之间的数据共享,可以使用RedissonClient的分布式集合类型,如List、Set、SortedSet等。
(3)分布式对象
RedissonClient提供了可序列化的Java对象,可以在多个进程间共享和修改
二、RedisTemplate
RedissonRxClient
(响应式)RedissonReactiveClient
(响应式)ReactiveRedisTemplate
(响应式)