java remove redis_无法删除redis的hash数据

在Spring MVC中整合Jedis进行数据缓存时遇到问题,尝试删除Redis的Hash数据失败。虽然在CentOS的Redis命令行中hdel操作返回0,且虚拟机上看不到键值,但在Windows桌面客户端仍能查看到数据。可能是客户端同步延迟或Redis配置问题。已尝试设置键值并验证,但问题依旧存在。Java代码中hdel方法返回0,期望返回值应为1。寻求解决方案。
摘要由CSDN通过智能技术生成

我使用springmvc整合jedis为我的数据进行缓存,然后数据是可以进行缓存了,但是当我想要删除数据时,却不能成功,还是可以看到hash的key值,然后我到虚拟机centos的redis查询的时候得到的值是nil,使用hdel删除得到返回值是0,但是我在windows的桌面客户端却可以查看得到值(有刷新过桌面客户端的数据),这是怎么回事,这是redis桌面客户端的图片:

3b9ccf1423c000d93d9ff23194d8e0ff.png

然后我在虚拟机centos的redis的下有设置了同样的值:

hset INDEX_CONTENT_REDIS_KEY 91 12

可以在桌面客户端得到数据如图:

3da2cbd9dbe4c973aefebc42b491cf08.png

有两个一样的hash的key值,在redis命令行下只能得到第二条记录,难道这是redis的bug,我使用的是redis3.0

这是java代码

2535b11609317d2c90c404c12b53a0e6.png

接口:

public interface JedisClient {

//刪除指定hashkey中的內容

long hdel(String hkey,String key);

}

实现类:

import org.springframework.beans.factory.annotation.Autowired;

import com.webshop.rest.dao.JedisClient;

import redis.clients.jedis.Jedis;

import redis.clients.jedis.JedisPool;

public class JedisClientSingle implements JedisClient {

@Autowired

private JedisPool jedisPool;

@Override

public long hdel(String hkey,String key) {

Jedis jedis = jedisPool.getResource();

long result = jedis.hdel(hkey,key);

return result;

}

}

删除后的返回的值是0,正常应该是1才对

请问有谁知道吗,急

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值