报错
ERR Error running script (call to f_xxx):
@user_script:1: user_script:1: attempt to perform arithmetic on a nil value .
channel: [id: xxx, L:/xxx - R:/xxx]
command: (EVAL), params: [local value = redis.call('hget', KEYS[1], ARGV[2]);
local expireDate = 92233720368547758; local t = ..., 8, xxx:xxx:pv,
redisson__timeout__set:{xxx:xxx:pv}, redisson__idle__set:{xxx:xxx:pv},
redisson_map_cache_created:{xxx:xxx:pv}, redisson_map_cache_updated:{xxx:xxx:pv},
redisson__map_cache__last_access__set:{xxx:xxx:pv},
redisson_map_cache_removed:{xxx:xxx:pv}, {xxx:xxx:pv}:redisson_options, ...]
代码
RMapCache<String, Integer> mapCache = redissonClient.<String, Integer>getMapCache("t:v:pv");
String item = channel + "-" + app;
// mapCache.put() 该方法不报错
// 此处报错
mapCache.putIfAbsent(item, 0, 1, TimeUnit.DAYS);
// 此处报错
Integer pv = mapCache.addAndGet(item, 1);