服务
Services
Redisson 提供了 4 种类型的分布式服务:Remote Service, Live Object Service, Executor Service and Scheduled Executor Service。
Remote Service
该服务提供了 Redis 促进的 Java 远程方法调用。Redisson 远程服务由服务器端(Worker Instance)和客户端实现组成。服务器端实现执行客户端调用的远程方法。服务端注册用于远程调用的接口:
RRemoteService remoteService = client.getRemoteService();
LedgerServiceImpl ledgerServiceImpl = new LedgerServiceImpl();
remoteService.register(LedgerServiceInterface.class, ledgerServiceImpl);
客户端则可以直接执行调用:
RRemoteService remoteService = client.getRemoteService();
LedgerServiceInterface ledgerService
= remoteService.get(LedgerServiceInterface.class);
List<String> entries = ledgerService.getEntries(10);
Live Object Service
Redisson Live Objects 将只能从单个 JVM 访问的标准 Java 对象的概念扩展到可以在不同机器中的不同 JVM 之间共享的增强 Java 对象。它通过将对象的字段映射到 Redis 哈希来完成的。通过运行时构造的代理类进行此映射,字段获取器和设置器被映射到 Redis hget/hset 命令。
@REntity
public class LedgerLiveObject {
@RId
private String name;
// getters and setters...
}
RLiveObjectService service = client.getLiveObjectService();
LedgerLiveObject ledger = new LedgerLiveObject();
ledger.setName("ledger1");
ledger = service.persist(ledger);
LedgerLiveObject returnLedger
= service.get(LedgerLiveObject.class, "ledger1");