五种value类型:String,List,Hash,Set,ZSet(有序集)
package com.realrainy.oa;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.Tuple;
public class RedisTest {
Jedis je = new Jedis("127.0.0.1", 6379);
public static void main(String[] args) {
RedisTest rt = new RedisTest();
rt.rSSet();
}
public void rSting() {
je.set("name", "huangqiqi");
je.set("username", "huangqiqi");
je.set("password", "123");
je.del("name");
System.out.println(je.get("name"));
System.out.println(je.get("username"));
je.decr("password");
System.out.println(je.get("password"));
je.incrBy("password", 3);
System.out.println(je.get("password"));
je.append("username", "如果没有串,我就自己创建!");
System.out.println(je.get("username"));
}
public void rHash() {
je.hset("用户表1", "username", "huangqiqi");
System.out.println(je.hget("用户表1", "username"));
Map<String, String> map = new HashMap<>();
map.put("username", "huangqiqi");
map.put("password", "123");
je.hmset("用户表2", map);
System.out.println(je.hmget("用户表2", "username", "password"));
je.hset("用户表1", "age", "23");
je.hincrBy("用户表1", "age", 2);
System.out.println(je.hget("用户表1", "age"));
boolean fiag1 = je.hexists("用户表1", "username");
boolean fiag2 = je.hexists("用户表1", "password");
System.out.println(fiag1 + "\t" + fiag2);
System.out.println(je.hlen("用户表1"));
Set<String> sets = je.hkeys("用户表2");
for (String str : sets) {
System.out.println(str);
}
List<String> list = je.hvals("用户表1");
for (String str : list) {
System.out.println(str);
}
}
public void rList() {
je.lpush("list1", "1", "2", "3");
je.lpush("list1", "a", "b", "c");
System.out.println("list1:" + je.lrange("list1", 0, -1));
je.rpush("list2", "1", "2", "3");
je.rpush("list2", "a", "b", "c");
System.out.println("list2:" + je.lrange("list2", 0, -1));
System.out.println(je.lpop("list1"));
System.out.println(je.rpop("list2"));
je.del("list1");
je.del("list2");
}
public void rSet() {
je.sadd("set1", "a", "b", "c");
je.sadd("set1", "a", "d", "e");
System.out.println("不会出现重复元素:" + je.smembers("set1"));
je.srem("set1", "d", "e");
System.out.println("删除掉两个元素后:" + je.smembers("set1"));
boolean flag = je.sismember("set1", "a");
System.out.println(flag);
je.sadd("set2", "a", "b", "c");
je.sadd("set3", "b", "c", "d");
System.out.println("set2:" + je.smembers("set2"));
System.out.println("set3:" + je.smembers("set3"));
Set<String> set1 = je.sdiff("set2", "set3");
System.out.println("差集:");
for (String set : set1) {
System.out.print(set + "\t");
}
Set<String> set2 = je.sinter("set2", "set3");
System.out.println("\n交集:");
for (String set : set2) {
System.out.print(set + "\t");
}
Set<String> sets3 = je.sunion("set2", "set3");
System.out.println("\n并集");
for (String set : sets3) {
System.out.print(set + "\t");
}
System.out.println("\nset1的元素总数:" + je.scard("set1"));
String rand = je.srandmember("set1");
System.out.println("随机获取一个元素:" + rand);
}
public void rSSet() {
je.zadd("期末成绩", 80, "平时分");
je.zadd("期末成绩", 10, "考试");
je.zadd("期末成绩", 10, "作业");
Set<Tuple> sets = je.zrangeWithScores("期末成绩", 0, -1);
for (Tuple t : sets) {
System.out.println(t.getElement() + "\t" + t.getScore());
}
System.out.println("删除得分在70~90分的元素");
je.zremrangeByScore("期末成绩", 70, 90);
Set<Tuple> sets2 = je.zrangeWithScores("期末成绩", 0, -1);
for (Tuple t : sets2) {
System.out.println(t.getElement() + "\t" + t.getScore());
}
}
}