
Redis
文章平均质量分 86
初秋和
这个作者很懒,什么都没留下…
展开
-
6、Redis高级数据结构HyperLogLog
HyperLogLog基于概率论中伯努利试验并结合了极大似然估算方法,并做了分桶优化。实际上目前还没有发现更好的在大数据场景中准确计算基数的高效算法,因此在不追求绝对准确的情况下,使用概率算法算是一个不错的解决方案。概率算法不直接存储数据集合本身,通过一定的概率统计方法预估值,这种方法可以大大节省内存,同时保证误差控制在一定范围内。目前用于基数计数的概率算法包括:Linear Counting(LC):早期的基数估计算法,LC在空间复杂度方面并不算优秀;原创 2023-04-22 23:41:25 · 335 阅读 · 0 评论 -
5、Redis缓存设计和性能优化、stream队列、多线程
缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常出于容错的考虑,如果从存储层查不到数据则不写入缓存层缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储的意义造成缓存穿透的基本原因有两个:1、自身业务代码或者数据出现问题2、一些恶意攻击,爬虫等造成大量空命中缓存穿透问题的解决方案1、缓存空对象2、布隆过滤器。原创 2023-04-22 22:08:05 · 680 阅读 · 0 评论 -
4、Redis高并发分布式锁
以上代码在高并发下,不能保证原子性,为了保证原子性,可以使用redisson来实现1、导包2、交给springIOC容器实例化3、代码实现在application.yml修改port来部署两个相同的服务,端口不同。然后修改Nginx的配置文件可以使用jemeter压测查看日志是否多扣。原创 2023-04-22 02:01:17 · 184 阅读 · 0 评论 -
3、Redis缓存高可用集群
在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况,而且哨兵模式只有一个主节点对外提供服务,没法支持很高的并发,且单个主节点内存也不宜设置得过大,否则会导致持久化文件过大,影响数据恢复或主从同步的效率。原创 2023-04-19 22:34:09 · 116 阅读 · 0 评论 -
2、Redis持久化和主从、哨兵
在默认情况下,Redis将内存数据库快照保存在名字为dump.rdb的二进制文件中在redis.conf文件中修改位置:例如save 60 10000表示60秒内至少有10000个键被改动,自动保存一次数据集。如果想关闭rdb,则把这三行注释掉就可以。除了上面的自动保存,还可以手动执行命令生成rdb快照,进入redis客户端,redis-cli,执行save或者bgsave可以生成dump.rdb文件,每次命令执行都会将所有的redis内存快照到一个新的rdb文件里,并覆盖原有的rdb快照文件。原创 2023-04-19 14:27:14 · 148 阅读 · 0 评论 -
1、Redis单机部署、核心数据结构与高性能原理
redis单机部署和简单命令原创 2023-04-19 00:22:34 · 74 阅读 · 0 评论