Redis之Jedis常用api,事务,主从复制

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"));
		
	}
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值