【问题标题】:Spring Data Redis: Redis Pipeline hget returning always nullSpring Data Redis:Redis Pipeline hget 总是返回 null
【发布时间】:2023-03-17 10:55:01
【问题描述】:
getRedisTemplate().executePipelined(
    new RedisCallback<Object>() { 
        @Override
        public Object doInRedis(RedisConnection connection) throws DataAccessException {
            connection.hGet(key);

            return null;
        }
    }
);

结果是null,我无法修复。

【问题讨论】:

标签: redis spring-data-redis


【解决方案1】:

当键或字段不存在或在管道/事务中使用时,hGet 返回 null。
Here 是。
您可以改用 lua 脚本。

String script = "local a = redis.call('hget','KEYS1','FIELD1')\n"+
                                        "if a then\n"+
                                        "   return redis.call('hincrby','KEYSAND'..a,'FIELD2',1)\n"+
                                        "end";
                                connection.eval(script.getBytes(), ReturnType.INTEGER, 0);

【讨论】:

    猜你喜欢
    • 2018-03-01
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 2019-07-12
    • 2015-01-13
    • 1970-01-01
    • 2018-08-08
    • 1970-01-01
    相关资源
    最近更新 更多