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

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();
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值