13.4. redis://

基于 Redis 1 实现的 RPC 协议。

提示:2.3.0 以上版本支持

注册 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"));

在客户端引用

  • 在客户端使用:
    <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), delete(key)。
  • 如果方法名和 Redis 的标准方法名不相同,则需要配置映射关系:
    <dubbo:reference id="cache" interface="com.foo.CacheService" url="redis://10.20.153.10:6379" p:set="putFoo" p:get="getFoo" p:delete="removeFoo" />
    
  1. Redis 是一个高效的 KV 存储服务器
  2. 不需要感知 Redis 的地址
  3. 其中 “p:xxx” 为 Spring 的标准 p 标签
下一节:当前 dubbo 支持的 thrift 协议是对 thrift 原生协议 1 的扩展,在原生协议的基础上添加了一些额外的头信息,比如 service name,magic number 等。

提示:2.3.0 以上版本支持