Redis

简介: 基于 Redis 实现的 Dubbo RPC 协议,支持服务注册与发现,可通过 ZooKeeper 或直连方式在客户端引用。支持标准 Redis 操作,如 get、set、delete,自定义方法需配置映射关系,适用于高效 KV 存储场景。

基于 Redis 1 实现的 RPC 协议 2

注册 redis 服务的地址

RegistryFactory registryFactory = ExtensionLoader.getExtensionLoader(RegistryFactory.class).getAdaptiveExtension();
Registry registry = registryFactory.getRegistry(URL.valueOf("zookeeper://10.20.153.10:2181"));
registry.register(URL.valueOf("redis://10.20.153.11/com.foo.BarService?category=providers&dynamic=false&application=foo&group=member&loadbalance=consistenthash"));

在客户端引用


在客户端使用 3

<dubbo:reference id="store" interface="java.util.Map" group="member" />

或者,点对点直连:

<dubbo:reference id="store" interface="java.util.Map" url="redis://10.20.153.10:6379" />

也可以使用自定义接口:

<dubbo:reference id="store" interface="com.foo.StoreService" url="redis://10.20.153.10:6379" />

方法名建议和 redis 的标准方法名相同,即:get(key), set(key, value), delet(key)。

如果方法名和 redis 的标准方法名不相同,则需要配置映射关系 4

<dubbo:reference id="cache" interface="com.foo.CacheService" url="memcached://10.20.153.10:11211" p:set="putFoo" p:get="getFoo" p:delete="removeFoo" />


1. Redis

是一个高效的 KV 存储服务器

2. 2.3.0

以上版本支持

3. 不需要感知 Redis 的地址

4. 其中 "p:xxx" 为 spring 的标准 p 标签

相关文章
|
25天前
|
人工智能 机器人 Java
黑马最新项目
AIGC项目涵盖大模型私有化部署、聊天机器人、RAG知识库及代码提示工具;天机AI集成SpringAI与多模型工作流;云岚到家聚焦微服务与分布式架构;四方保险构建统一支付与时序数据应用;星辰WMS与Dify项目即将发布。
80 0
黑马最新项目
|
25天前
|
缓存
QLExpress使用及源码分析
本文介绍基于QLExpress的规则引擎实现方案,涵盖实体构建、接口定义与脚本编写。通过@QLAlias注解映射字段别名,结合YAML配置规则表达式,实现逻辑解耦。运行时动态解析AST语法树,支持汉化变量与上下文绑定,并提供缓存与延迟执行机制,提升性能与灵活性。
52 0
QLExpress使用及源码分析
|
26天前
|
负载均衡 Java 应用服务中间件
微服务网关与配置中心 学习目标
本课程学习Spring Cloud Gateway网关的实现,掌握路由配置、负载均衡、内置过滤器(如StripPrefix)及全局过滤器的使用。重点包括自定义身份校验过滤器、JWT鉴权流程、微服务间用户信息传递,并结合Nacos实现服务发现与统一配置管理,完成前后端联调与权限控制。
51 0
微服务网关与配置中心 学习目标
|
26天前
|
Java 应用服务中间件 Sentinel
服务保护、分布式事务
本课程讲解微服务保护核心知识,涵盖雪崩问题、熔断降级、限流隔离等方案,学习Sentinel实现熔断限流,掌握FallbackFactory降级处理及Seata分布式事务原理与应用。
25 0
服务保护、分布式事务
|
25天前
|
XML JSON Java
JSONUtil
本文介绍了Java中常用的数据结构与JSON之间的相互转换方法,涵盖一维、二维数组、List、Map、XML等转JSON或Object的操作,使用Hutool、FastJSON和net.sf.json等工具类实现,适用于常见数据处理场景。
41 0
|
25天前
|
存储 Java
超长String接收处理
Java中String变量最大长度为Integer.MAX_VALUE,但字符串字面量受class文件格式限制,最大65534。超过会编译错误,需通过StringBuilder分组处理长字符串。
42 0
|
25天前
|
Java
调用exe/bat并传参
Java中使用ProcessBuilder执行bat文件时,若提示“系统找不到指定的文件”,通常因未正确指定可执行程序路径。建议改用Runtime.exec(),拼接完整命令字符串,并确保路径、参数无误,同时检查文件是否存在及权限设置。
40 0
|
25天前
|
Java
随机ID
提供两个Java方法:`getStringRandom`生成指定长度的随机字母数字组合字符串,`getOnlyNumRandom`生成指定长度的纯随机数字字符串,适用于验证码、随机ID等场景。
30 0
|
25天前
|
存储 Java
StringUtil
Java中字符串最大长度受限于虚拟机规范,字符串字面量在class文件中存储时最大为65534,超长需分段处理。本文介绍通过StringBuilder分组拼接解决超长字符串接收问题的方法。
30 0
|
25天前
|
Java 数据安全/隐私保护
脱敏工具
提供Java实现的敏感信息脱敏方法,包括身份证、姓名和手机号的脱敏处理,通过正则替换隐藏关键信息,保障数据安全。
48 0