当前位置: 首页 > news >正文

Redis客户端之Redisson(二)Redisson组件

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(响应式)

http://www.lryc.cn/news/290889.html

相关文章:

  • 用Visual Studio Code创建JavaScript运行环境【2024版】
  • spring-web搭建
  • C++ 之LeetCode刷题记录(二十三)
  • 在ubuntu上在安装Squid代理服务器
  • 如何解决 MySQL 的 socket 错误
  • 5G智慧钢铁厂数字孪生三维可视化,推进钢铁新型工业化数字化转型
  • 万户 ezOFFICE DocumentEditExcel.jsp SQL注入漏洞
  • OpenCV 2 - 矩阵的掩膜操作
  • linux -- 内存管理 -- 页面分配器
  • StarRocks-3.1.0 单节点部署
  • 2023美赛A题之Lotka-Volterra【完整思路+代码】
  • 关于如何将Win幻兽帕鲁服务端存档转化为单人本地存档的一种方法(无损转移)
  • 计算机网络——IP协议
  • Linux命令-ar命令(建立或修改备存文件,或是从备存文件中抽取文件)
  • flask基于python的个人理财备忘录记账提醒系统vue
  • 【leetcode题解C++】257.二叉树的所有路径 and 404.左叶子之和 and 112.路径总和
  • Linux——文本编辑器Vim
  • 以“美”为鉴,探寻香港比特币现货ETF的未来发展
  • Unity项目打包的方法(之一)
  • 如何安装MySQL
  • 如何编写.gitignore文件
  • U-Boot学习(7):内核启动之bootz启动zImage源码分析
  • [GN] DP学习笔记板子
  • GLog开源库使用
  • 微信小程序如何实现点击上传图片功能
  • Windows Qt C++ VTK 绘制三维曲线
  • Android T 远程动画显示流程(更新中)
  • 【计算机网络】【练习题及解答】【新加坡南洋理工大学】【Computer Control Network】
  • 云计算HCIE备考经验分享
  • Threejs API——`OrbitControls`相机控件