当前位置: 首页 > article >正文

Redisson的基础使用(2)

布隆过滤器(Bloom Filter)
布隆过滤器一般用于解决缓存穿透的问题。主要原理是使用一组哈希函数,将元素映射成一组位数组中的索引位置。如果要检查某个元素是否在集合中时,将此元素通过所有的哈希函数,查看哈希值对应的位数组的值是否为1。如果对应的位数组的值都为1,这个元素可能在集合中,否则此元素一定不在集合中。简而言之就是:存在的元素可能存在,不存在的元素一定不存在。Redisson也提供了布隆过滤器的使用。

RBloomFilter<User> bloomFilter = redisson.getBloomFilter("xiaohei");
// 初始化布隆过滤器,预计统计元素数量为1000000,期望误差率为0.03
//精度越高,消耗空间越大
bloomFilter.tryInit(100000, 0.01);
bloomFilter.add(new User("xiaobai"));
bloomFilter.contains(new User("xiaobai")));

有序集(SortedSet)
在保证元素唯一性的前提下,通过比较器(Comparator)接口实现了对元素的排序。

RSortedSet<Integer> set = redission.getSortedSet("xiaohei");
set.add(3);
set.add(1);
set.add(2);
set.remove(1);

AtomicLong
与java中的原子类相似,可以理解为让long保持原子性

RAtomicLong r1 = redisson.getAtomicLong("user1");
atomicLong.set(3);
atomicLong.incrementAndGet();//自增一
atomicLong.get();

AtomicDouble

RAtomicDouble r2= redisson.getAtomicDouble("user2");
r2.set(2.81);
r2.addAndGet(4.11);//与4.11相加
r2.get();

http://www.kler.cn/a/162461.html

相关文章:

  • 【QT常用技术讲解】优化网络链接不上导致qt、qml界面卡顿的问题
  • 为什么hbase在大数据领域渐渐消失
  • Linux源码阅读笔记-V4L2框架基础介绍
  • 【操作系统】守护进程
  • UniApp 应用、页面与组件的生命周期详解
  • 第74期 | GPTSecurity周报
  • 在UBUNTU上使用Qemu和systemd-nspawn搭建RISC-V轻量级用户模式开发环境
  • Mysql分布式集群部署---MySQL集群Cluster将数据分成多个片段,每个片段存储在不同的服务器上
  • vim + ctags 跳转, 查看函数定义
  • 微信和支付宝JSAPI支付页面 html
  • 设计模式之结构型模式(适配器、桥接、组合、享元、装饰者、外观、代理)
  • 字节开源的netPoll底层LinkBuffer设计与实现
  • 为什么Java程序员需要掌握多线程?揭秘并发编程的奥秘
  • 前端Excel导出实用方案(完整源码,可直接应用)
  • uniapp 显示文件流图片
  • 2024年强烈推荐mac 读写NTFS工具Tuxera NTFS for Mac2023中文破解版
  • 【FreeRTOS】信号量——简介、常用API函数、注意事项、项目实现
  • 【力扣100】4.移动零
  • RHEL8_Linux访问NFS存储及自动挂载
  • microblaze仿真
  • uni-app 微信小程序之好看的ui登录页面(一)
  • 【华为OD题库-063】字符匹配-java
  • 『CV学习笔记』轻量化卷积神经网络MobileNet从V1到V3
  • 手机充电器市场分析:预计2028年将达到82亿美元
  • 探索人工智能领域——每日20个名词详解【day11】
  • oracle与sqlsever的区别