Kun*_*wla 3 java redis redisson
在 Redis 中存储嵌套和复杂的 java 对象的最佳方法是什么。我们的做法如下。
我们正在使用Redisson Java 客户端库进行 Redis 交互。请看下面的代码:
try{
Config conf = new Config();
conf.useSingleServer().setTimeout(3600000);
conf.useSingleServer().setRetryInterval(3600000);
conf.useSingleServer().setAddress("redis://127.0.0.1:6379");
RedissonClient redisson = Redisson.create(conf);
RMap<String,Object> map = redisson.getMap("myCache");
MyClass myObject; // This is the big complex object.
map.put("key", myObject);
redisson.shutdown();
}catch (Exception ex) {
ex.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
同样,我们使用 get 从 redis 填充我们的 myObject,而不是 put。
由于 redis 中存储了大数据,我们增加了超时时间,我们收到以下异常:
命令的命令执行超时:(EVAL) with params...
请同时回答以下问题:
谢谢。
我认为你的问题实际上是两个问题放在一起:复杂对象和巨大对象。
那么让我分解一下,一一讨论:
myObject.getField1()if 时,只会从 Redis 获取一个字段,而不是像示例中所示的整个对象。DZone 上有两篇文章可以帮助您更多地了解 Redisson Live Object:Introducing Redisson Live Objects (Object Hash Mapping)(由我自己编写)和A Look at the Java Distributed In-Memory Data Model(Powered by Redis)(尼基塔·科克沙罗夫(Nikita Koksharov)撰写)
Redisson 二进制流是通过将数据映射到 Redis 字符串对象来实现的,它会在必要时将数据拆分为块。您可以在项目 wiki 页面上找到 Redisson 二进制流的用法。
| 归档时间: |
|
| 查看次数: |
6210 次 |
| 最近记录: |