Redis簡單操作

package com.Liu.test;

import static org.junit.Assert.*;

import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.junit.Test;

import redis.clients.jedis.Jedis;

public class Redis_J {

	private Jedis jedis = new Jedis("127.0.0.1", 6379);

	@Test
	public void testInt() {
		jedis.set("lhl", "劉海龍");
		System.out.println(jedis.get("lhl"));
	}

	/**
	 * jedis操作string
	 */
	@Test
	public void testString() {
		// 設置lhl字符串的key->value
		jedis.set("lhl", "劉海龍");
		System.out.println(jedis.get("lhl"));
		// 修改lhl字符串
		jedis.append("lhl", "是帥哥");
		System.out.println(jedis.get("lhl"));
		// 重新定義lhl字符串
		jedis.set("lhl", "大帥");
		System.out.println(jedis.get("lhl"));
		// 刪除lhl字符串的key->value
		jedis.del("lhl");
		System.out.println(jedis.get("lhl"));
		// 設置List<String>
		// 確實相當於jedis.set("name","劉海龍"),jedis.set("age","21"),jedis.set("address","上海浦東")
		jedis.mset("name", "劉海龍", "age", "21", "address", "上海浦東");
		List<String> strings = jedis.mget("name", "age", "address");
		System.out.println(strings);
	}

	/**
	 * jedis操作map
	 */
	@Test
	public void testMap() {
		Map<String, String> user = new HashMap<String, String>();
		user.put("name", "劉海龍");
		user.put("age", "21");
		jedis.hmset("user", user);
		List<String> str = jedis.hmget("user", "name", "age");
		System.out.println(str);

		// 刪除map中的某個鍵值
		// jedis.hdel("user","name");
		System.out.println(jedis.hmget("user", "pwd")); // 因爲刪除了,所以返回的是null
		System.out.println(jedis.hlen("user")); // 返回key爲user的鍵中存放的值的個數1
		System.out.println(jedis.exists("user"));// 是否存在key爲user的記錄 返回true
		System.out.println(jedis.hkeys("user"));// 返回map對象中的所有key [age, name]
		System.out.println(jedis.hvals("user"));// 返回map對象中的所有value [age, name]

		// 遍歷map
		Iterator<String> iter = jedis.hkeys("user").iterator();
		while (iter.hasNext()) {
			String key = iter.next();
			System.out.println(jedis.hmget("user", key));
		}
	}

	/**
	 * 
	 * jedis操作list
	 */
	@Test
	public void testList() {
		jedis.del("lhl");//先把lhl清空
		System.out.println(jedis.lrange("java framework", 0, -1));
		jedis.lpush("lhl", "11");
		jedis.lpush("lhl", "22");
		jedis.lpush("lhl", "33");
		// jedis.lpop("lhl");出棧
		// jedis.lpop("lhl");出棧
		System.out.println(jedis.lrange("lhl", 0, -1));
	}

	/**
	 * 
	 * jedis操作Set
	 */
	@Test
	public void testSet() {

		// 添加
		jedis.sadd("sname", "minxr");
		jedis.sadd("sname", "jarorwar");
		jedis.sadd("sname", "閔曉榮");
		jedis.sadd("sanme", "noname");

		// 移除noname
		jedis.srem("sname", "noname");
		System.out.println(jedis.smembers("sname"));// 獲取所有加入的value
		System.out.println(jedis.sismember("sname", "minxr"));// 判斷 minxr
		System.out.println(jedis.srandmember("sname"));
		System.out.println(jedis.scard("sname"));// 返回集合的元素個數
		System.out.println(jedis.keys("*"));// 返回集合的元素個數

	}
	
	@Test
	public void testSort(){
		//jedis 排序  

        //注意,此處的rpush和lpush是List的操作。是一個雙向鏈表(但從表現來看的)  

        jedis.del("a");//先清除數據,再加入數據進行測試  
        jedis.lpush("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));  
	}
}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章