利用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就会变得格外强大、高效、优化,用起来也会更加方便、快捷。

数据运维技术 » 利用Redis查看键值对类型(redis类型查看)