【入門】測試redis操做

最近纔想發一篇關於redis對數據的一些簡單操做,也是作一些記錄,這裏不記錄如何安裝redis,閒話很少說,直接開幹!java

先作準備工做:鏈接redis:ajax

import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.Jedis;

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


public class TestRedis {

    private Jedis jedis;

    @Before
    public void setJedis() {
        // 連接redis服務器
        jedis = new Jedis("127.0.0.1", 6379);
        // 權限認證
        jedis.auth("xulifeng");
        System.out.println("Redis連接成功!");
    }
}

而後咱們在類裏面寫一個測試操做字符串的方法:redis

public void testString() {
        // 添加數據
        jedis.set("name", "xlf");  // key爲name放 入值xlf
        System.out.println("拼接前:" + jedis.get("name"));  // 讀取key爲name的值

        // 向key爲name的值後面加上數據  -- 拼接
        jedis.append("name", " is my name");
        System.out.println("拼接後:" + jedis.get("name"));

        // 刪除某個鍵值對
        jedis.del("name");
        System.out.println("刪除後:" + jedis.get("name"));

        // 設置多個鍵值對
        jedis.mset("name", "xlf", "age", "100", "email", "abcdefg@163.com");
        jedis.incr("age");// 用於將鍵的整數值遞增1。若是鍵不存在,則在執行操做以前將其設置爲0
        System.out.println("name:" + jedis.get("name") + " " +"age:" + jedis.get("age")
                + " " + "email:" + jedis.get("email"));
        jedis.del("name", "age", "email");
        System.out.println("刪除後是否還有數據:" + "name:" + jedis.get("name")

運行後能夠看到結果:spring

而後咱們在類裏在寫一個測試操做Map的方法:json

public void testMap() {
        // 添加數據
        Map<String, String> map = new HashMap<>();
        map.put("name", "xlf");
        map.put("age", "100");
        map.put("email", "abcdefg@163.com");
        jedis.hmset("user", map);

        List<String> list = jedis.hmget("user", "name", "age", "email");
        System.out.println(list);

        // 刪除map中的某個key
        jedis.hdel("user", "age");
        System.out.println("age:" + jedis.hmget("user", "age"));
        System.out.println("user的鍵中存放的值的個數" + jedis.hlen("user"));
        System.out.println("是否存在key爲user的記錄" + jedis.exists("user"));
        System.out.println("user中全部的key" + jedis.hkeys("user"));
        System.out.println("user中全部的value" + jedis.hvals("user"));

        // 拿到key,在迭代器獲得值
        Iterator<String> iterator = jedis.hkeys("user").iterator();
        while (iterator.hasNext()) {
            String key = iterator.next();
            System.out.println(key + ":" + jedis.hmget("user", key));
        }
        jedis.del("user");
        System.out.println("刪除後是否還存在key爲user的記錄:" + jedis.exists("user"));
    }

運行後能夠看到結果:服務器

而後咱們再寫一個測試操做List的方法:mybatis

public void testList() {
        // 移除javaFramwork全部內容
        jedis.del("javaFramwork");
        //存放數據
        jedis.lpush("javaFramwork", "spring");
        jedis.lpush("javaFramwork", "springMVC");
        jedis.lpush("javaFramwork", "mybatis");
        System.out.println("長度" + jedis.llen("javaFramwork"));
        // jedis.llen表示長度,-1表示全部
        System.out.println("javaFramwork:" + jedis.lrange("javaFramwork", 0, -1));

        jedis.del("javaFramwork");
        System.out.println("刪除後長度爲:" + jedis.llen("javaFramwork"));
        System.out.println(jedis.lrange("javaFramwork", 0, -1));
    }

運行結果爲:app

如今咱們寫一個set操做的方法:測試

public void testSet() {
        // 添加
        jedis.sadd("user", "xlf");
        jedis.sadd("user", "xu");
        jedis.sadd("user", "are");
        jedis.sadd("user", "ajax");
        jedis.sadd("user", "json");
        // 移除user中的are
        jedis.srem("user", "are");
        System.out.println("user中的全部value:" + jedis.smembers("user"));// 獲取全部加入user的value
        System.out.println("ajax是不是user中的元素:" + jedis.sismember("user", "ajax"));
        System.out.println("集合中的隨機一個元素:" + jedis.srandmember("user"));
        System.out.println("user中元素的個數" + jedis.scard("user"));
        jedis.del("user");   // 測試完刪除數據
    }

運行結果是:code

而後如今咱們再寫一個排序:

public void test() {
        jedis.del("number");
        jedis.rpush("number", "4");
        jedis.rpush("number", "5");
        jedis.rpush("number", "3");

        jedis.rpush("number", "6");
        jedis.rpush("number", "2");
        jedis.rpush("number", "1");
        System.out.println(jedis.lrange("number", 0, jedis.llen("number")));
        System.out.println("排序:" + jedis.sort("number"));
        System.out.println(jedis.lrange("number", 0, -1));// 不改變原來的排序
        jedis.del("number");// 測試完刪除數據
    }

運行結構以下:

Redis的基本操做能夠說是這些,後續會繼續完善。

相關文章
相關標籤/搜索