使用Jedis操作redis

举报
小小张自由--张有博 发表于 2022/05/20 17:55:17 2022/05/20
【摘要】 使用Jedis操作redis

Jedis

Redis的Java生态的客户端当中包含Jedis、Redisson、Lettuce,不同的客户端具备不同的能力是使用方式.

Jedis 是 Redis 官方首选的 Java 客户端开发包。

Jedis客户端同时支持单机模式、分片模式、集群模式的访问模式,通过构建Jedis类对象实现单机模式下的数据访问,通过构建ShardedJedis类对象实现分片模式的数据访问,通过构建JedisCluster类对象实现集群模式下的数据访问。

jedis是一款java操作redis数据库的工具,性质有点类似于jdbc

Jedis的特性和原理

https://baijiahao.baidu.com/s?id=1715292157796722813&wfr=spider&for=pc

引入依赖

    <!-- 导入jedisd的包 -->
    <dependency>
        <groupId>redis.clients</groupId>
        <artifactId>jedis</artifactId>
        <version>3.2.0</version>
    </dependency>

    <!-- fastjson -->
    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>fastjson</artifactId>
        <version>1.2.62</version>
    </dependency>

Jedis的简单操作

package com.promsing.jedis;

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

import java.util.List;
import java.util.Map;
import java.util.Set;

/**
 * Jedis的Demo类-测试连接
 *
 * @author Promsing(张有博)
 * @version 1.0.0
 * @since 2022/5/3 - 21:39
 */
public class JedisDemo1 {


    public static void main(String[] args) {
        //测试连接
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        String ping = jedis.ping();
        System.out.println(ping);
    }

    @Test
    public void keys() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        Set<String> keys = jedis.keys("*");
        for (String key : keys) {
            System.out.println(key);
        }
    }


    /**
     * 过期时间与判断是否存在
     *
     * @throws InterruptedException
     */

    @Test
    public void expire() throws InterruptedException {
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        String set = jedis.set("userName", "promsing");
        jedis.expire("userName", 500);

        String userName = jedis.get("userName");
        System.out.println(userName);

        //休眠10s
        Thread.sleep(10000);

        //过期时间
        Long ttl = jedis.ttl("userName");
        System.out.println(ttl);

        //判断是否存在
        Boolean sk = jedis.exists("sk");
        System.out.println(sk);


    }


    /**
     * 存取多个值
     */
    @Test
    public void mset() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        String set = jedis.mset("userName", "promsing", "userage", "18", "usersex", "男");
        List<String> mget = jedis.mget("userName", "userage", "usersex");
        for (String s : mget) {

            System.out.println(s);
        }

    }

    /**
     * 操作集合
     */
    @Test
    public void list() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.del("mylist");
        //记住管道的概念,双向链表
        jedis.lpush("mylist", "张飒", "李四", "王五", "赵六");
        jedis.rpush("mylist", "刘琦", "孙八");
        List<String> mylist = jedis.lrange("mylist", 0, -1);
        for (String s : mylist) {
            System.out.println(s);
        }

    }


    @Test
    public void set() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.del("mySet");
        //
        jedis.sadd("mySet", "张飒", "李四", "王五", "赵六");
        jedis.sadd("mySet", "李四", "孙八");

        Set<String> mySet = jedis.smembers("mySet");
        for (String s : mySet) {
            System.out.println(s);
        }

        //删除
        Long srem = jedis.srem("mySet", "孙八");


    }

    @Test
    public void hash() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);
        jedis.del("myHash");
        //
        jedis.hset("city","shanghai","上海");
        jedis.hset("city","beijing","北京");
        jedis.hset("city","shenzhen","深圳");
        jedis.hset("city","tianjing","天津");

        String hget = jedis.hget("city", "beijing");
        System.out.println(hget);

        Map<String, String> map = jedis.hgetAll("city");
        for (Map.Entry<String, String> stringStringEntry : map.entrySet()) {
            System.out.println(stringStringEntry.getKey());
            System.out.println(stringStringEntry.getValue());
        }

    }

    @Test
    public void zset() {
        Jedis jedis = new Jedis("127.0.0.1", 6379);

        jedis.zadd("china",100,"上海");
        jedis.zadd("china",400,"北京");
        jedis.zadd("china",200,"深圳");
        jedis.zadd("china",500,"天津");

        Set<String> china = jedis.zrange("china", 0, -1);
        System.out.println(china);

    }


}
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。