springboot redis 和 redission 的区别_Redission 初体验

java开发中,你使用的redis client工具是哪一个?

我了解的有jedis,lettuce,redission, spring-redis-templete。

萝卜与青菜

client 优点 缺点
jedis 老牌,轻量易于改造,支持连接池 BIO模型,同步方法调用;实例不是线程安全的,需要配合线程池使用;功能单一,高级功能缺失
lettuce 生菜,spring redisTemplate底层默认实现,线程安全;性能高,基于Netty,支持异步方法调用 编程模型复杂,不太直观
redission 更高级的工具; 线程安全; 基于Netty,支持异步方法调用,提供分布式相关操作:分布式锁,分布式集合等 spring boot支持不太友好

jedis从名字来看,就知道和redis有多亲,作为老牌java client,也确实伴随我写过不少项目,但是因为他实例线程不安全,所以一般都是通过提供的线程池管理,每次操作从线程池中拿到一个实例,处理完毕后,调用jedis.close()

所以,使用jedis的项目,你基本会看到类似如下的代码:

public class JedisUtil {
     
    private static Logger logger = LoggerFactory.getLogger(JedisUtil.class);
    private static String address;

    public static void init(String address) {
        JedisUtil.address = address;
        getInstance();
    }
  
    private static JedisSentinelPool jedisSentinelPool;
    private static ReentrantLock INSTANCE_INIT_LOCL = new ReentrantLock(false);

    public static void destroy() {
        jedisSentinelPool.destroy();
    }

    /**
     * 获取ShardedJedis实例
     *
     * @return
     */
    private static Jedis getInstance() {
        if (jedisSentinelPool == null) {
            try {
                if (INSTANCE_INIT_LOCL.tryLock(2, TimeUnit.SECONDS)) {

                    try {

                        if (jedisSentinelPool == null) {
                            Set sentines = Arrays.stream(address.split(",")).collect(Collectors.toSet());
                            jedisSentinelPool = new JedisSentinelPool("mymaster",sentines);
                        }
                    } finally {
                        INSTANCE_INIT_LOCL.unlock();
                    }
                }
            } catch (InterruptedException e) {
                logger.error(e.getMes
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RedisRedisson是两个不同的概念和工具,但它们之间是有关联的。 Redis是一个开源的内存数据存储系统,它提供了各种数据结构和功能,例如字符串、哈希、列表、集合、有序集合等,并具有持久化存储、复制、高可用性、集群等特性。Redis可以作为缓存、消息队列、分布式锁等多种用途。 Redisson是基于Redis的Java驻内存数据网格(In-Memory Data Grid),它提供了一系列方便使用的分布式Java对象和服务,例如分布式集合、分布式锁、分布式信号量等。Redisson旨在让开发者更方便地使用Redis,提供了使用Redis的简单和便捷的方法,同时也促进了对Redis的关注分离,让开发者能够更专注于业务逻辑处理上。 因此,可以说Redisson是在Redis的基础上实现的一个Java工具,用于简化和增强对Redis的使用。它提供了分布式对象和服务,使开发者能够更轻松地处理分布式场景下的数据操作和并发控制。123 #### 引用[.reference_title] - *1* [Redis - RedisRedisson有什么关系](https://blog.csdn.net/Pastxu/article/details/115762697)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] - *2* *3* [在SpringBoot使用Redis,redis分布式锁和redission](https://blog.csdn.net/weixin_43451430/article/details/115728497)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值