redis
文章平均质量分 65
redis
牧竹子
且行且珍惜
展开
-
常用的缓存机制
文章目录1. LRU (Least Recently Used)最近最少使用2. LFU (Least Frequently Used)最近最不常用使用页面置换3.比较LRU 和 LFU 的缺点TinyLFU统计频率Count–Min Sketch 算法保新机制Window特性淘汰策略(eviction policy)异步的高性能读写总结1. LRU (Least Recently Used)最近最少使用核心思想:如果数据最近被访问过,那么将来被访问的可能性也更高。实现:1) 新数据插入链表头原创 2021-02-16 09:31:51 · 1252 阅读 · 0 评论 -
手工创建三节点Redis集群
文章目录手工创建三节点集群配置三几个几点启动节点加入集群指派slots查看集群状态okredis cluster info显示cluster_state:fail解决方案手工创建三节点集群这里我们手工创建三节点集群,至少我们是可以自己设置多少个节点的。脚本创建需要至少6个节点,具体参考如下https://www.cnblogs.com/zhaoyongjie-z/p/12577972.htmlhttps://blog.csdn.net/zjcjava/article/details/8525615原创 2021-01-26 13:18:32 · 1217 阅读 · 0 评论 -
Redisson分布式锁实现原理和使用
常见的锁内存锁lock,synchronize分布式锁redis,zookeeper实现Redisson实现了Lock接口的分布式集群锁,是可重入锁,功能强大,源码复杂,比redis单机模式分布式锁可靠,稳定性更高,支持集群模式,支持锁根据业务时长自动延迟释放redis普通分布式锁存在一定的缺陷——它加锁只作用在一个Redis节点上,如果通过sentinel和cluster保证高可用,如果master节点由于某些原因发生了主从切换,那么就会出现锁丢失的情况:高可用问题客户端1在Redis的ma原创 2021-01-19 14:17:13 · 4257 阅读 · 3 评论 -
redis 分布式锁遇到的坑
用锁遇到过哪些问题?又是如何解决的?未关闭资源由于当前线程 获取到redis 锁,处理完业务后未及时释放锁,导致其它线程会一直尝试获取锁阻塞,例如:用Jedis客户端会报如下的错误信息1redis.clients.jedis.exceptions.JedisConnectionException: Could not get a resource from the poolredis线程池...原创 2020-04-25 11:30:43 · 2794 阅读 · 1 评论 -
使用 Spring Cache + Redis 作为缓存并支持自定义单个key设置过期时长
Spring CacheSpring针对不同的缓存技术,需要实现不同的cacheManager,Spring定义了如下的cacheManger实现。pomspringboot 项目加入如下依赖 <dependency> <groupId>org.springframework.boot</groupId> <ar...原创 2020-01-10 16:33:51 · 4318 阅读 · 4 评论 -
Redlock:Redis集群分布式锁
前言分布式锁是一种非常有用的技术手段。实现高效的分布式锁有三个属性需要考虑:● 安全属性:互斥,不管什么时候,只有一个客户端持有锁● 效率属性A:不会死锁● 效率属性B:容错,只要大多数redis节点能够正常工作,客户端端都能获取和释放锁。普通版:单机redis分布式锁说道Redis分布式锁大部分人都会想到: setnx+lua或者set+lua,加上过期时间大多都是使用的下面的ke...原创 2019-11-12 12:35:07 · 3308 阅读 · 4 评论 -
BloomFilter使用和redis的setbit、bitcount实现用户上线次数统计
简介BloomFilter过滤器可以快速判断某值是否存在,虽然不一定准确,但是相对而且它既快速而且又相对准确。Bloom Filter没有False Negative,即判断某元素时否在Bloom Filter中时,如果返回False, 则可以肯定该元素不在集合中,但是Bloom Filter存在False Positive, 即如果返回True, 并不能完全肯定元素就在集合中,但是有很大的概...原创 2019-10-14 23:50:43 · 1055 阅读 · 0 评论 -
Redis缓存高可用集群
1、Redis集群方案比较哨兵模式在redis3.0以前的版本要实现集群一般是借助哨兵sentinel工具来监控master节点的状态,如果master节点异常,则会做主从切换,将某一台slave作为master,哨兵的配置略微复杂,并且性能和高可用性等各方面表现一般,特别是在主从切换的瞬间存在访问瞬断的情况高可用集群模式redis集群是一个由多个主从节点群组成的分布式服务器群,它具有...转载 2018-12-26 01:05:08 · 253 阅读 · 0 评论 -
Redis主从复制原理总结
文章目录Redis主从复制原理总结主从复制的一些特点:Redis大概主从同步是怎么实现的?实操配置通过redis实现服务器崩溃等数据恢复Redis主从复制原理总结和Mysql主从复制的原因一样,Redis虽然读取写入的速度都特别快,但是也会产生读压力特别大的情况。为了分担读压力,Redis支持主从复制,Redis的主从结构可以采用一主多从或者级联结构,Redis主从复制可以根据是否是全量分为全...转载 2018-12-26 00:24:04 · 404 阅读 · 0 评论 -
悲观锁,乐观锁,redis+lua分布式锁的数据库案例讲解
超发问题分析针对抢到红包案例,用户抢到红包后,红包总量应-1,当多个用户同时抢红包,此时多个线程同时读得库存为n,相应的逻辑执行后,最后将均执update T_RED_PACKET set stock = stock - 1 where id = #{id} ,很明显这是错误的。锁的概念悲观锁(包括 排它锁,分享锁 for update)悲观锁是一个统称的概念它的特点是先获取锁,再进行...转载 2018-12-06 13:16:10 · 2008 阅读 · 0 评论 -
redis在使用lua脚本以及实现redis分布式锁
目录背景介绍环境准备redis运行lua脚本访问次数限制java调用脚本操作redisLua+Redis 断点调试环境搭建背景介绍Redis在2.6推出了脚本功能,允许开发者使用Lua语言编写脚本传到Redis中执行。使用脚本的好处如下:1.减少网络开销:本来5次网络请求的操作,可以用一个请求完成,原先5次请求的逻辑放在redis服务器上完成。使用脚本,减少了网络往返时延。2.原子操作:R...原创 2018-12-05 19:44:53 · 8304 阅读 · 0 评论 -
Redis配置不当致使root被提权漏洞
Redis配置不当致使root被提权漏洞Dear all~ 最近Redis服务被曝出因配置不当,可能造成数据库被恶意清空,或被黑客利用写入后门文件造成进一步入侵,请关注!一、漏洞发布日期 2015年11月10日 二、已确认被成功利用的软件及系统 对公网开放,且未启用认证的redis服务器。 三、漏洞描述 最近Redis服务被曝出因配置不当,被攻击者进行恶意利用。 黑客借助redi转载 2017-11-17 10:35:03 · 6781 阅读 · 2 评论 -
redis在centos7下的安装以及自启动
一.安装//下载redis安装包wget http://download.redis.io/redis-stable.tar.gz//解压tar zxvf redis-3.0.6.tar.gz//跳转到 redis目录cd redis-3.0.0//编译安装make MALLOC=libc//执行make install 安装make install//redis命令已经在bin原创 2017-09-21 20:54:25 · 524 阅读 · 0 评论