JAVA redisTemplate并发赋值问题

图片说明
图片说明
图片说明

请问为什么会被赋值多次呢?

多线程的时候synchronized锁同一个对象才有用,你的代码里每次同步的都是新的对象,所以同步无效

synchronized(this){

}
??
而且个人感觉 两个if判断性能太低了,可以用

while(StringUtils.isEmpty(name)){
    synchronized(this){
        ops.get();
    }
}

个人建议如果不对请多多指教