1、String类型的数据 ==>(常作为缓存使用)
2、List数据结构
3、Set数据结构功能
4、sortedSet(有序集合)数据结构
5、Hash数据结构
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"));
}
}