java redis取差集_2、redis数据结构和Java API

1、String类型的数据 ==>(常作为缓存使用)

2、List数据结构

113d180d6497540f28c1dc89e2d2166c.png

3、Set数据结构功能

4、sortedSet(有序集合)数据结构

363e038deab1f0ef66fc6a7aabb6b2a8.png

5、Hash数据结构

780dd3c8c2dc50e1899764f04cff50fa.png

6、java api示例 package com.bigdata.hadoop.kafka;

import redis.clients.jedis.Jedis;

import java.util.HashMap;

/**

* [@Author](https://my.oschina.net/arthor) liufu

* [@E-mail](https://my.oschina.net/rosolio): 1151224929@qq.com

* @CreateTime 2019/1/16 12:01

*/

public class JedisTest {

public static void main(String[] args) {

Jedis jedis = new Jedis("192.168.0.100", 6379);

// 1、string:包罗万象,只要能够转化为byte的都可以往上面存储,包括对象。

jedis.set("name", "liufu"); //设置一个值

jedis.get("name"); //获取这个值

jedis.getrange("name", 0, -1); //获取这个值得一部分,相当于substring()。

// 2、list:存储列表信息,相当于一个队列,可以控制左插入(lpush),右插入(rpush)、左弹出(lpop)、右弹出(rpop)、从左到右获取一个范围(lrange)

jedis.lpush("kecheng", "英语", "数学", "语文", "数理化");

jedis.rpush("kecheng", "英语", "数学", "语文", "数理化");

jedis.lpop("kecheng");

jedis.rpop("kecheng");

jedis.lrange("kecheng", 0, -1);

//这个更加有用,可以从一个队列的右边拿出一个信息然后插入到另一个队列的左边,多用于消

//息队列的时间监听恢复。

jedis.rpoplpush("kecheng", "kechengTmp");

// 3a、set:是一个集合,不允许有重复的信息,可以进行数学中的:差集、并集、交集等运算。还可以将结果保存到另一个集合中。

jedis.sadd("ss", "hello1", "hello2", "hello3");

jedis.sadd("aa", "hello1", "hello2", "hello3");

jedis.sadd("cc", "hello88", "hello", "hello3"); //插入可以一次性插入多条

jedis.smembers("ss");

jedis.sismember("ss", "hello1");

jedis.sdiff("ss", "aa", "cc"); //可对多个集合求差集

jedis.sdiffstore("新的集合", "ss", "aa");

jedis.sinter("ss", "aa");

jedis.sinterstore("新的集合", "ss", "aa");

jedis.sunion("ss", "aa");

jedis.sunionstore("新的集合", "ss", "aa");

// 3b、sortedSet:内部维护者信息的排序情况,但是没有信息需要加一个权重已进行排序

HashMap map = new HashMap<>();

map.put("蛮王", 10.0);

map.put("瞎子", 10.0);

map.put("盖伦", 2.0);

map.put("豹女", 122.0);

jedis.zadd("key", map);

System.out.println(jedis.zrange("key", 0, -1)); //升序,并且获得所有的信息

System.out.println(jedis.zrevrange("key", 0, -1)); //降序,并且获得所有的信息。

System.out.println(jedis.zrank("key", "蛮王")); //查找蛮王升序的排名

System.out.println(jedis.zrevrank("key", "蛮王")); //查找蛮王降序的排名

// 4、Hash数据结构

HashMap hashMap = new HashMap();

hashMap.put("魅族", "10");

hashMap.put("华为族", "10");

hashMap.put("乐视", "10");

jedis.hmset("hash", hashMap); //可以整个map加入进去

jedis.hset("hash", "xiaomi", "10");

jedis.hset("hash", "iphone", "10"); //也可以一个个的加入进去

jedis.hget("hash", "xiaomi"); //获取一个值

jedis.hgetAll("hash"); //获取整个map的信息

jedis.hkeys("hash"); //获取map中的keys

jedis.hvals("hash"); //获取map中的values

jedis.hincrBy("hash", "xiaomi", 10); //将小米的值增加10

jedis.hincrBy("hash", "xiaomi", -10); //将小米的值减10

jedis.hdel("hash", "xiaomi", "iphone"); //删除指定的值

System.out.println(jedis.hgetAll("hash"));

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值