最近纔想發一篇關於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的基本操做能夠說是這些,後續會繼續完善。