![7477e61880391a06a400b9029f1ba138.png](https://i-blog.csdnimg.cn/blog_migrate/07c2873ff0c13bf74510c34976a183a5.jpeg)
![c9231bb6a838cb36a0198835401557d6.png](https://i-blog.csdnimg.cn/blog_migrate/10a49ad08ce093f9a5494dac679ac85d.jpeg)
写这篇的时候,相信有很多朋友还在用Jedis作为Redis的客户端,我不禁有很多问号,Jedis还香吗?如果你早些年说它香我信,但是都2020年了,它真的不那么香了。那为什么还继续使用它呢?大部分原因或多或少是因为一遗留代码没人敢大动,就这样吧;二新项目没人主导使用其它实现做替换。祖传代码不轻易大动,这个真理必须相信,且坚持相信;至于没人主导拍板做技术替换,可能是习惯了Jedis的用法,也可能是没人了解其它技术实现,当然还有其它原因,有兴趣分享的朋友可以在评论区聊一聊。咳咳,扯远了,来聊我们今天的话题-Redisson实战用法。
在Redis的官网([Redis](Redis))上可以看到Java语言的推荐客户端列表,除了我们都熟知的Jedis之外,Redisson也是官方推荐的客户端。从这我们了解到Redisson是一个Redis客户端,那它到底Redisson是什么呢?Redisson是一个在Redis的基础上实现的Java驻内存数据网格(In-Memory Data Grid),它充分利用了Redis键值数据库提供的一系列优势,基于Java实用工具包中常用接口,为使用者提供了一系列具有分布式特性的常用工具类,让使用Redis更加简单、便捷,从而让使用者能够将更多精力集中到业务逻辑处理上。
也就是说Redisson不仅仅是一个Redis客户端,它还实现了很多具有分布式特性的常用工具类,例如分布式锁、布隆过滤器等,更多功能特性和开发文档说明请移步https://github.com/redisson/redisson/wiki/%E7%9B%AE%E5%BD%95。接下来,我们一起聊一下Redisson中如何轻松操作Redis中的字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)和有序集合(sorted sets),以及如何使用Redisson实现的布隆过滤器和分布式锁,最后分析一下Redisson中分布式锁的解决方案。
创建RedissonClient
要使用Redisson,首先要创建RedissonClient对象实例。创建RedissonClient对象实例的方式多钟多样,可以直接通过在代码中设置Redis服务的相关参数创建,也可以通过加载JSON格式或YAML格式配置文件创建,还可以通过在Spring XML文件中使用Redisson标签配置创建,具体如何创建RedissonClient对象实例可根据需要选择,这里就不一一介绍了,有想法的可以移步Redisson官网。本文为了展示使用样例代码,使用了最简单