what's the usage for trySet method in redisson rbucket

I'm learning Redisson now, I have an example as below:

public class TestRedisson {
    public static void main(String[] args) {
        Config config = new Config();
        config.useSingleServer().setAddress("//localhost:6379");
        RedissonClient redisson = Redisson.create(config);

        RBucket<String> bucket = redisson.getBucket("test");
        bucket.set("123");

        boolean isUpdated = bucket.compareAndSet("123", "4934");

        System.out.println("isUpdated:" + isUpdated);

        System.out.println(bucket.get());

        String prevObject = bucket.getAndSet("321");

        System.out.println("prevObject:" + prevObject);

        System.out.println(bucket.get());

        boolean isSet = bucket.trySet("901");

        System.out.println("isSet:" + isSet);

        System.out.println(bucket.get());

        long objectSize = bucket.size();

        System.out.println(objectSize);

        redisson.shutdown();
    }
}

The result is :

isUpdated:true
4934
prevObject:4934
321
isSet:false
321
5

I'm puzzled about the usage for trySet method, why is failed in this example, I don't find any explanation in the Redisson api document for this method, and another question is why the objectSize is 5? As the value of bucket is 321 now, I think the objectSize should be 3