最近才想发一篇关于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的基本操做能够说是这些,后续会继续完善。