最近,一个同事开发的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

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐