redis - 在 Redis 中是否可以更新部分值?

标签 redis jedis

我必须在项目中使用 Redis 和 Jedis,以便从生成的 key 中快速访问一些数据。存储的值将是一些复杂的 Java 对象。

是否可以只更新这个值的一部分,而不是之前获取它?

例如,如果我序列化一个类的对象

public class MyObject {

    private MySubObject1 myObj1;
    private MySubObject2 myObj2;
    private MySubObject3 myObj3;

}

如果 MyObject 与 Redis 中的键相关联,我是否可以从该键仅更新 myObj2 字段?还是先获取值,更新字段,然后再将其放入 Redis?

最佳答案

如果你想这样更新。您可以使用哈希而不是平面键值存储。

这是片段

    hset("MyObject","myObj1",(serialized value of myobj1))
hset("MyObject","myObj2",(serialized value of myobj2)) ...

If you want to change myObj2 alone 

do hset("MyObject","myObj2",(new value))

关于redis - 在 Redis 中是否可以更新部分值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36916287/

相关文章:

node.js - 如何从嵌套的 promise 中返回值?

java - JedisPool 内存泄漏

redis - 响应批处理 API 以批处理方式获取 Redis 集群中的 key 的最佳方法是什么?

javascript - Node.js | Express.js | Redis.io - 处理顺序

java - 在 kafka 流中使用 Redis 池是否安全?

node.js - Redis 连接到 EB 实例内部,但不会连接已部署的 sailsjs 应用程序

search - 关于多方面搜索软件堆栈的建议

java - Spring 的 JedisConnectionFactory 是否支持新的 JedisCluster?

java - Docker 编写 Redis 和 Spring boot 应用程序 : java.net.ConnectException : Connection refused (Connection refused)",

java - Jedis 中的响应对象 - 抛出 ClassCastException