[Redis学习笔记]-Java 使用 Redis

来源:互联网 发布:select二级联动php 编辑:程序博客网 时间:2024/05/20 06:25

Java 使用 Redis

目前使用Java连接最流行的要数Jedis了。

要使用Jedis需要在Java的项目工程中添加Jedis的Jar包。

step1 使用Maven新建一个Java工程

不会maven的同学可以先百度一下。

step2 引入依赖

<dependency>    <groupId>redis.clients</groupId>    <artifactId>jedis</artifactId>    <version>2.9.0</version></dependency>

step3 编写测试用例

public class JedisTest {    private Jedis jedis;    //连接redis    @Before    public void connection() {        //连接本地的 Redis 服务        //Jedis jedis = new Jedis("192.168.101.102",6379);        jedis = new Jedis("192.168.8.102");        //jedis.auth("123");        System.out.println("连接成功");        //查看服务是否运行        System.out.println("服务正在运行: "+jedis.ping());    }    //测试keys    @Test    public void keysTest() {        Set<String> keys = jedis.keys("*");        Arrays        .asList(keys)        .stream()        .forEach(System.out::println);    }    //清空数据    @Test    public void flushDb() {        jedis.flushDB();        //jedis.flushAll();    }    //测试 string    @Test    public void stringTest() {        jedis.set("name", "张三");        System.out.println(jedis.get("name"));    }    //测试 list    @Test    public void listTest() {        jedis.lpush("color", "red","blue","green");        jedis        .lrange("color", 0, 2)        .stream()        .forEach(System.out::println);    }    //测试 set    @Test    public void setTest() {        jedis        .sadd("pet", "dog","cat","mouse");        jedis        .smembers("pet")        .stream()        .forEach(System.out::println);    }    //测试 zset    @Test    public void zsetTest() {        jedis.zadd("sport", 0, "football");        jedis.zadd("sport", 0, "basketball");        jedis.zadd("sport", 0, "swim");        jedis        .zrange("sport", 0, 3)        .stream()        .forEach(System.out::println);    }    //测试 hash    @Test    public void hashTest() {        jedis.hset("user", "name", "zhangsan");        jedis.hset("user", "age", "20");        jedis.hset("user", "sex", "male");        jedis        .hgetAll("user")        .entrySet()        .stream()        .forEach((entry) -> {            System.out.println(entry.getKey() + "::" + entry.getValue());        });    }    //测试pipline 发送多条指令    @Test    public void piplineTest() {          Set<String> keys = jedis.keys("user:*");          List<Object> result = new ArrayList<>();          Pipeline pipelined = jedis.pipelined();          long t1 = System.currentTimeMillis();          for (String key : keys) {              pipelined.get(key);          }          result = pipelined.syncAndReturnAll();          result        .stream()        .forEach(System.out::println);        System.out.println(System.currentTimeMillis() - t1);      }     //事务测试    @Test    public void multiTest() {        Transaction multi = jedis.multi();        try {            jedis.watch("name1");            multi.set("name1", "zhangsan");            multi.set("name2","lisi");            List<Object> exec = multi.exec();            exec            .stream()            .forEach(System.out::println);        } catch (Exception e) {            e.printStackTrace();            multi.discard();        }        jedis.unwatch();    }}
原创粉丝点击