redis 通过value获得key值

redis 通过value获得key值

package cn.theone.tmp;

import cn.theone.tmp.dictionary.pageModel.Mdictionary;
import cn.theone.tmp.redis.util.RedisHashUtil;
import cn.theone.tmp.redis.util.RedisListUtil;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.Calendar;
import java.util.Map;

@RunWith(SpringRunner.class)
@SpringBootTest
public class TmpApplicationRedisTest {

    @Autowired
    private RedisTemplate<String, String> redisTemplate;

    @Test
    public void contextLoads() {
    //添加两条数据到redis中
    redisTemplate.opsForHash().put("xwyj:mdeptMap","100000000000","应急管理局");
    redisTemplate.opsForHash().put("xwyj:mdeptMap","100000000001","交警大队");

	//通过外层key拿到下面的对象,外层key一般都是已知的
	Map<Object, Object> entries = redisTemplate.opsForHash().entries("xwyj:mdeptMap");
    	
    //假设该变量就是前端传来的value
    String valueName= "应急管理局";

	//遍历缓存对象
	for (Object value : entries.keySet()) {
			//如果value是对象直接强转对象即可
            String o = (String) entries.get(value);
            //字符串在缓存中取出来有的时候会多出一对双引号,可以debug看一下,把引号去掉
            o = o.replace("\"", "");
            //用假设前端的value和对象下的value相比较,相同则取出对应key即可
            if (valueName.equals(o)) {
                System.out.println(value);
            }
        }
    }
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
这里简单的redis用value找key就可以了,有问题可以指出!

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值