<file_sep>package com.testRedis.test;

import java.util.HashMap;
import java.util.Map;

import org.junit.Before;
import org.junit.Test;

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class FistRedis {
 
		JedisPool jedisPool ;
		Jedis jedis;
		
		@Before
		public void setUp(){
			jedisPool = new JedisPool(new JedisPoolConfig(),"127.0.0.1");
			jedis = jedisPool.getResource();
		}
		
		//@Test
		public void Test(){
			//System.out.println(jedis.get("i"));;
			
			jedis.set("name", "wangwu");	//存储字符串
			jedis.append("name", "liu"); //追加字符串
			System.out.println(jedis.get("name"));
			
			jedis.del("name");//删除name对应记录
			
			jedis.mset("name","dabing","age","5");//设置多个值
			System.out.println(jedis.mget("name","age"));
			
			Map<String,String> map = new HashMap<String,String>();
			map.put("a", "xiaowang");
			map.put("b", "xiaohong");
			jedis.hmset("map", map); //设置map
 			
			//移除所有数据
			jedis.del("list");
			System.out.println(jedis.lrange("list", 0, -1));
			
			jedis.lpush("list", "a");
			jedis.lpush("list", "b");
			jedis.lpush("list", "c");
			System.out.println(jedis.lrange("list",0,jedis.llen("list")));  //lrange 1:key 2:起始位置, 从零开始, 3:结束位置,-1表示所有, llen可以获取长度
			
		}
  
		@Test
		public void basicTest() throws InterruptedException{
			
			System.out.println(jedis.keys("*")); //返回当前库中所有的key  [sose, sanme, name, jarorwar, foo, sname, java framework, user, braand]
            System.out.println(jedis.keys("*name"));//返回的sname   [sname, name]
            System.out.println(jedis.del("sanmdde"));//删除key为sanmdde的对象  删除成功返回1 删除失败（或者不存在）返回 0
            System.out.println(jedis.ttl("sname"));//返回给定key的有效时间，如果是-1则表示永远有效
            jedis.setex("timekey", 10, "min");//通过此方法，可以指定key的存活（有效时间） 时间为秒
            Thread.sleep(5000);//睡眠5秒后，剩余时间将为<=5
            System.out.println(jedis.ttl("timekey"));   //输出结果为5
            jedis.setex("timekey", 1, "min");        //设为1后，下面再看剩余时间就是1了
            System.out.println(jedis.ttl("timekey"));  //输出结果为1
            System.out.println(jedis.exists("key"));//检查key是否存在
            System.out.println(jedis.rename("timekey","time"));
            System.out.println(jedis.get("timekey"));//因为移除，返回为null
            System.out.println(jedis.get("time")); //因为将timekey 重命名为time 所以可以取得值 min
 
            //jedis 排序
            //注意，此处的rpush和lpush是List的操作。是一个双向链表（但从表现来看的）
            jedis.del("a");//先清除数据，再加入数据进行测试
            jedis.rpush("a", "1");
            jedis.lpush("a","6");
            jedis.lpush("a","3");
            jedis.lpush("a","9");
            System.out.println(jedis.lrange("a",0,-1));// [9, 3, 6, 1]
            System.out.println(jedis.sort("a")); //[1, 3, 6, 9]  //输入排序后结果
            System.out.println(jedis.lrange("a",0,-1));
			
		}
		
}
