public class RedisTest {
public static void main(String[] args) {
Jedis jedis=new Jedis("123.207.142.229");
//创建、覆盖原来存在的数据
jedis.set("k1", "v1");
jedis.set("k2", "v2");
jedis.set("k3", "v3");
//测试连接
System.out.println(jedis.ping());
System.out.println(jedis.get("k3"));
System.out.println("========key==========");
//append 将k1拼接到已有的name键值的后面
jedis.append("name","k1");
String s=jedis.get("name");
System.out.println(s);
// keys中传入的可以用通配符
System.out.println(jedis.keys("*"));
// 返回的sname [sname, name]
System.out.println(jedis.keys("*name"));
// 删除key为name的对象 删除成功返回1 删除失败(或者不存在)返回 0
System.out.println(jedis.del("name"));
// 返回给定key的有效时间,如果是-1则表示永远有效
System.out.println(jedis.ttl("name"));
//删除key对应的值
jedis.del("name");
System.out.println(jedis.get("name"));
//更改键名
//mset 同时拆入多个数据
jedis.mset("name","zhangsan","age","18");
System.out.println(jedis.mget("name","age"));
//mget同时获取多个数据
System.out.println(jedis.mget("name","age"));
System.out.println("=========String=========");
//清空数据
//System.out.println(jedis.flushDB());
//存储数据
jedis.set("k1", "v1");
//如果key不存在就存储
jedis.setnx("k1", "v1111");
System.out.println(jedis.get("k1"));
//设置key的有效期并存储数据
jedis.setex("k4", 5, "v4444");
System.out.println(jedis.get("k4"));
//获取并更改数据
jedis.getSet("k4", "kkkk4");
System.out.println("=========list===========");
//右导入数据 读取的时候是 hello world 1 2
jedis.rpush("message", "hello world ");
jedis.rpush("message", "1");
jedis.rpush("message", "2 ");
//取出List中所有数据
System.out.println(jedis.lrange("message", 0, -1));
//左导入数据 读取的时候是 3 2 1
jedis.lpush("m","1");
jedis.lpush("m","2");
jedis.lpush("m","3");
//取出List中所有数据
System.out.println(jedis.lrange("m", 0, -1));
//获取指定范围的值(0-3)
System.out.println(jedis.lrange("m", 0, 3));
//获取数组长度
System.out.println(jedis.llen("m"));
//排序
//System.out.println(jedis.sort("m"));
// 修改列表中单个值
jedis.lset("m", 0, "hello list!");
// 删除列表指定下标的值
jedis.flushDB();
jedis.lpush("m","1");
jedis.lpush("m","2");
jedis.lpush("m","3");
System.out.println(jedis.lrem("m", 2, "vector"));
System.out.println(jedis.lrange("m", 0, -1));
// 删除区间以外的数据
System.out.println(jedis.ltrim("m", 0, 1));
// 列表出栈
System.out.println(jedis.lpop("m"));
System.out.println("=========set==========");
jedis.sadd("myset", "1");
jedis.sadd("myset", "2");
jedis.sadd("myset", "3");
jedis.sadd("myset", "4");
//遍历集合set
System.out.println(jedis.smembers("myset"));
jedis.srem("mset", "2");
System.out.println(jedis.srem("myset", "2"));
// 判断 是否在集合中
System.out.println(jedis.sismember("myset", "4"));
// 返回集合的元素个数
System.out.println(jedis.scard("myset"));
// 添加数据
jedis.sadd("myset", "HashSet");
System.out.println(jedis.smembers("myset"));
// 删除指定元素
System.out.println(jedis.srem("myset", "HashSet"));
System.out.println(jedis.smembers("myset"));
// 出栈
System.out.println(jedis.spop("myset"));
jedis.sadd("sets1", "HashSet1");
jedis.sadd("sets1", "SortedSet1");
jedis.sadd("sets1", "TreeSet");
jedis.sadd("sets2", "HashSet2");
jedis.sadd("sets2", "SortedSet1");
jedis.sadd("sets2", "TreeSet1");
// 交集
jedis.sunion("sets1","sets2");
// 并集
System.out.println(jedis.sunion("sets1", "sets2"));
// 差集
System.out.println(jedis.sdiff("sets1", "sets2"));
System.out.println("========Zset=========");
jedis.zadd("zset", 70,"v1");
jedis.zadd("zset", 80,"v2");
jedis.zadd("zset", 90,"v3");
jedis.zadd("zset", 95,"v4");
jedis.zadd("zset", 100,"v5");
// 元素个数
System.out.println(jedis.zcard("zset"));
// 元素下标 (score 70)
System.out.println(jedis.zscore("zset", "v1"));
// 遍历集合指定范围内的数据
System.out.println(jedis.zrange("zset", 0, -1));
// 删除元素 v1
System.out.println(jedis.zrem("zset", "v1"));
System.out.println(jedis.zrange("zset", 0, -1));
System.out.println("======Hash=======");
//存入键值对数据
jedis.mset("name","zhangsan","age","18");
System.out.println(jedis.mget("name","age"));
//存入集合
Map<String,String> user=new HashMap<String,String>();
user.put("name", "li4");
user.put("age", "21");
jedis.hmset("user", user);
//获取长度
System.out.println(jedis.hlen("user"));
//获取指定的值
System.out.println(jedis.hmget("user", "name"));
// 删除指定的值
System.out.println(jedis.hdel("user", "name"));
// 为key中的域 field 的值加上增量 increment
System.out.println(jedis.hincrBy("user", "age", 1));
// 获取所有的keys
System.out.println(jedis.hkeys("user"));
// 获取所有的values
System.out.println(jedis.hvals("user"));
}
}
Redis事务
public class RedisTest2 {
public static void main(String[] args) {
Jedis jedis=new Jedis("123.207.142.229");
System.out.println(jedis.ping());
jedis.flushDB();
//开启事务
Transaction transation=jedis.multi();
transation.set("name", "zhang3");
transation.set("age", "18");
//执行事务
transation.exec();
//放弃事务
transation.discard();
}
}
Redis主从复制
public class RedisTest3 {
public static void main(String[] args) {
//建立两个连接
Jedis jedis_M=new Jedis("123.207.142.229",6379);
Jedis jedis_S=new Jedis("123.207.142.229",6380);
//在从机上配置对应的主机master
jedis_S.slaveof("123.207.142.229", 6379);
//主机进行设置值
jedis_M.set("k1", "v1");
//从机获取
System.out.println(jedis_S.get("k1"));
}
}