springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了...

简介:

Jedis:一个轻巧的 Redis Java 客户端。易于使用且兼容目前的各Redis版本。 今天带大家入个门,讲讲SpringBoot整合Jedis的步骤,以及Redis支持的五种数据类型在Jedis中怎么使用。 只要起步了,接下来就容易了,还不快快收藏起来。知识整理不易,求求你们点个赞好不好

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第1张图片

求赞


需要

Redis

Jedis

SpringBoot项目


第一步:准备好环境

下载并启动Redis。

新建一个SpringBoot项目。

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第2张图片

启动Redis


第二步: 添加依赖

在项目的pom.xml文件中,加入以下依赖项,并刷新Maven依赖。

   redis.clients        jedis        3.2.0jarcompile

第三步:新建一个JedisPool工具类

import redis.clients.jedis.Jedis;import redis.clients.jedis.JedisPool;/** * 单例模式获取连接池 */public class JedisPoolUtil {    private volatile static JedisPool jedisPool;    private JedisPoolUtil(){}    /** 双检锁/双重校验锁 */    public static JedisPool getInstance(){        if(jedisPool == null){            synchronized (JedisPoolUtil.class){                if(jedisPool == null){                    // 无参构造函数默认连接localhost:6379                    jedisPool = new JedisPool();                }            }        }        return jedisPool;    }    /** 释放资源*/    public  static void close(JedisPool jedisPool, Jedis jedis){        if (jedis != null) {            jedis.close();        }        jedisPool.close();    }}

注意:JedisPool类构造方法有很多,可以通过传入JedisPoolConfig对Redis进行设置。


第四步:五种数据类型代码实操

1. 字符串(String)

    @Test    public void redisString() {        // 1. 获取连接池与实例        JedisPool jedisPool = JedisPoolUtil.getInstance();        Jedis jedis = jedisPool.getResource();        // 2. 设置缓存数据        jedis.set("name", "程序猿浩哥");        // 3. 取出缓存数据        System.out.println(jedis.get("name"));        // 3. 释放资源        JedisPoolUtil.close(jedisPool, jedis);    }

输出结果:

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第3张图片

字符串(String)


2. 字符串列表(list)

@Test    public void redisList(){        // 1. 获取连接池与实例        JedisPool jedisPool = JedisPoolUtil.getInstance();        Jedis jedis = jedisPool.getResource();        // 2. 设置缓存数据        jedis.rpush("names", Arrays.asList("程序猿浩哥0", "程序猿浩哥1", "程序猿浩哥2").toArray(new String[2]));        // 3. 取出缓存数据        List nameList = jedis.lrange("names", 0, -1);        nameList.forEach(System.out::println);        // 4. 释放资源        JedisPoolUtil.close(jedisPool, jedis);    }

输出结果:

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第4张图片

字符串列表(list)


3. 哈希(hash)

    @Test    public void redisSortedSet(){        // 1. 获取连接池与实例        JedisPool jedisPool = JedisPoolUtil.getInstance();        Jedis jedis = jedisPool.getResource();        // 2. 设置缓存数据        Map map = new HashMap<>();        map.put("程序猿浩哥2", 2d);        map.put("程序猿浩哥0", 0d);        map.put("程序猿浩哥1", 1d);        jedis.hmset("nameSortedSet", map);        // 3. 取出缓存数据        Set redisSet = jedis.zrange("nameSortedSet", 0, -1);        redisSet.forEach(System.out::println);        // 4. 释放资源        JedisPoolUtil.close(jedisPool, jedis);    }

输出结果:

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第5张图片

哈希(hash)


4. 字符串集合(set)

    @Test    public void redisSet(){        // 1. 获取连接池与实例        JedisPool jedisPool = JedisPoolUtil.getInstance();        Jedis jedis = jedisPool.getResource();        // 2. 设置缓存数据        jedis.sadd("nameSet", Arrays.asList("程序猿浩哥0", "程序猿浩哥0", "程序猿浩哥1").toArray(new String[2]));        // 3. 取出缓存数据        Set redisSet = jedis.smembers("nameSet");        redisSet.forEach(System.out::println);        // 4. 释放资源        JedisPoolUtil.close(jedisPool, jedis);    }

输出结果:

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第6张图片

字符串集合(set)


5. 有序字符串集合(sorted set)

    @Test    public void redisSortedSet(){        // 1. 获取连接池与实例        JedisPool jedisPool = JedisPoolUtil.getInstance();        Jedis jedis = jedisPool.getResource();        // 2. 设置缓存数据        Map map = new HashMap<>();        map.put("程序猿浩哥2", 2d);        map.put("程序猿浩哥0", 0d);        map.put("程序猿浩哥1", 1d);        jedis.zadd("nameSortedSet", map);        // 3. 取出缓存数据        Set redisSet = jedis.zrange("nameSortedSet", 0, -1);        redisSet.forEach(System.out::println);        // 4. 释放资源        JedisPoolUtil.close(jedisPool, jedis);    }

输出结果:

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第7张图片

有序字符串集合(sorted set)


使用场景

  • 缓存(数据查询)
  • 分布式集群架构中的 session 分离
  • 计数器
  • 任务队列(秒杀、抢购等等)
  • 排行榜
  • 网站访问统计

文章到此介绍完毕,Redis在实际应用中,还有更多的知识点需要掌握。

如:集群配置,数据持久化,在微服务中的应用等,等待小伙伴们去探索

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第8张图片

Java


注意:

考虑到更好的性能和体验,更推荐大家使用可伸缩的线程安全Redis客户端Lettuce。

点赞美三代,分享富一生。

springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了..._第9张图片

点赞

你可能感兴趣的:(springboot整合redis集群_SpringBoot整合Redis指南,五种数据类型示例操作,简单明了...)