最近,一个同事开发的SparkStreaming程序,在使用JPools 工具包处理redis,来删除一条哈希 hset插入的数据时,报了如下错误:

Caused by: redis.clients.jedis.exceptions.JedisClusterException: No way to dispatch this command to Redis Cluster because keys have different slots.

错误直译:

引起:redis.clients.jedis.exceptions.JedisClusterException:无法将此命令分派到 Redis 集群,因为键具有不同的插槽。

经查,这个场景下,删除应该使用 hdel 操作,而同事确错用成 del。

场景1(单机或集群环境下):

set k1 v1
删除:del k1

场景2(集群环境下):

set key1 f1 v1
删除:hdel key1 f1

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐