Redis删除Hash结构中的多个field

今天是要做一个删除redis Hash 结构中多个hash filed 的问题,提供的方法有:

operations.delete(key,hashKeys);

其中hashkeys为可变长度,知不知道可变长度在英语怎么说?

Variable Arguments (Varargs)

表示可变长度的参数的那三个点呢  用three periods 表示

而我得到的要删除的filed是一个集合,里面可以有1到多个数据,所以用可变参数不好做,于是看到了pipeline这种方式,当然像我们这种第一次接触的,尴尬的地方就在于看了一些例子,做了,可以用了,却不知道这么用好不好,会不会有什么问题,说不出个一二来。大概这就是底层码农和高级研发人员的区别。上代码:

HashOperations operations = redisTem.opsForHash();

redisTem.executePipelined(new RedisCallback(){

@Override

public Object doInRedis(RedisConnection connection) throws DataAccessException{

    connection.openPipeline(); 

    keyList.forEach(k->operations.delete(key, k));

    connection.closePipeline();

    return null;

}

});

pineline是把请求一次性的都传递到redis,然后由redis执行。

遇到新技术或者自己没学过的,都会有先完成出问题再说修的问题,但你花个一两个月先学一遍再去做也不可能,这里就要求一定的学习成本和试错成本。

你可能感兴趣的:(Redis删除Hash结构中的多个field)