code: @Override
      public CompletableFuture<Integer> getCollectionSizeAsync(String key) {
          return (CompletableFuture) send("OBJECT", null, (Type) null, key, "ENCODING".getBytes(UTF8), key.getBytes(UTF8)).thenCompose(t -> {
              if (t == null) return CompletableFuture.completedFuture(null);
              if (new String((byte[]) t).contains("list")) { //list
                  return send("LLEN", null, (Type) null, key, key.getBytes(UTF8));
              } else {
                  return send("SCARD", null, (Type) null, key, key.getBytes(UTF8));
              }
          });
      }
docs: --------------------- collection ------------------------------