利用Redis查看键值对类型(redis类型查看)
Redis是一种非关系型数据库,有着快速、可扩展、可定制的优点,被广泛应用在微服务、缓存、数据管理等方面,有着越来越多的用户。Redis中,主要支持5种不同类型的键值对,依次为:String、List、Set、Hashes、Zset。
第一,String类型。String类型是Redis最基础的数据类型,常用于存储单值,取出也会得到一个值,存储简单易操作。例如,将key-value对形式存储在Redis中:
“`java
//先设置
jedis.set(“name”,”jim”);
//获取
String name = jedis.get(“name”);
System.out.println(name);
第二,List类型。List类型是按照列表顺序保存的字符串集合,可以理解为Java中的ArrayList类型,可以使用键来操作某一列表值。例如,一个list键值对存储一组数:
```java//设置
String [] strArray = new String[] {"level1","level2","level3"};jedis.lpush("user:id:1", strArray);
//获取List list = jedis.lrange("user:id:1", 0, -1);
for (String string : list) { System.out.println(string);
}
第三,Set类型。Set类型存储的是一组不重复的字符串,这些字符串彼此之间没有关系,也没有顺序可言。下面以一个无序的列表为例,做文章点赞操作:
“`java
//增加点赞
jedis.sadd(“article:id:1″,”userId:1”);
//移除点赞
jedis.srem(“article:id:1″,”userId:1”);
//获取点赞人数
Set userIdSet = jedis.smembers(“article:id:1”);
第四,Hash类型。false类型会将数据以key-field-value的形式存储,hash与现实中的散列场景非常相似。下面以一条关于用户的文章记录为例:
```java//设置
Map hashMap = new HashMap();
hashMap.put("title","Redis");hashMap.put("author","jim");
hashMap.put("date","2020-xx-xx");jedis.hmset("articleId:1",hashMap);
//获取Map redisHashMap = jedis.hgetAll("articleId:1");
for (Entry entry : redisHashMap.entrySet()) {
System.out.println("key:" + entry.getKey() + " value:" + entry.getValue()); }
第五,Zset类型。Zset类型会以一种有序的数据结构来存储字符串,既可以保持字符串的插入顺序,也可以按照字符串对应的权重排序。下面以对用户积分排序为例:
“`java
//设置
Map zsetmap = new HashMap();
zsetmap.put(“userId:1”, 1000.0);
zsetmap.put(“userId:2”, 2000.0);
zsetmap.put(“userId:3”, 3000.0);
jedis.zadd(“ranklist”,zsetmap);
//获取
Set zsetSet = jedis.zrange(“ranklist”, 0, -1);
for (String s : zsetSet) {
System.out.println(s);
}
以上,就是Redis中5种不同的键值对的用法,也是我们可以熟练运用的5种不同数据类型。只要我们掌握他们的应用场景,Redis就会变得格外强大、高效、优化,用起来也会更加方便、快捷。