redis
huchao_lingo
这个作者很懒,什么都没留下…
展开
-
redis定时手动执行bgsave、备份rdb
redis定时手动执行bgsave、备份rdb 每小时备份rdbvim /opt/server/redis/redis_rdb_bak_hourly.sh#!/bin/sh history_hour=`date +%Y%m%d%H`rm -rf /data/redis-data-backup/$history_hourmkdir -p /data/redis-data-backup/$history_hourcp /opt/server/redis/data/dump-6380.r原创 2020-08-13 20:27:45 · 1978 阅读 · 0 评论 -
redis添加布隆过滤器插件
redis添加布隆过滤器插件概念布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器可以用于检索一个元素是否在一个集合中。它的优点是空间效率和查询时间都比一般的算法要好的多,缺点是有一定的误识别率和删除困难。redis在4.0版本以后可通过插件的形式添加布隆过滤器 编译安装到redis安装目录创建module目录cd /opt/server/redismkdir module && cd mo原创 2020-07-06 20:11:41 · 2498 阅读 · 1 评论 -
缓存穿透、缓存雪崩、缓存击穿场景模拟、解决方案
cache-best-practice 完整项目代码参考: cache-best-practice一、缓存穿透、缓存雪崩、缓存击穿场景模拟 1、缓存穿透缓存穿透是指查询一个根本不存在的数据,缓存层和存储层都不会命中,通常处于容错的考虑,如果从缓存层查询不到数据则不写入缓存层缓存穿透将导致不存在的数据每次请求都要到存储层去查询,失去了缓存保护后端存储层的意义缓存穿...原创 2020-04-16 10:31:42 · 2831 阅读 · 1 评论 -
缓存更新的策略
缓存更新的策略 1、先淘汰缓存,再更新数据库 public void updateData1(DataObject dataObject) { //第一步,淘汰缓存 deleteFromCache(dataObject.getId()); //第二步,操作数据库 updateFromDB(dataObject);...原创 2020-04-12 10:01:59 · 2161 阅读 · 0 评论 -
Redis中删除过期Key的三种策略
Redis中删除过期Key的三种策略Redis对于过期键有三种清除策略:被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key主动删除:由于惰性删除策略无法保证冷数据被及时删掉,所以Redis会定期主动淘汰一批已过期的key当前已用内存超过maxmemory限定时,触发主动清理策略被动删除只有key被操作时(如GET),REDIS才会被动检查该key...原创 2020-04-03 15:42:40 · 1978 阅读 · 0 评论 -
Redisson分布式锁的源码分析
Redisson分布式锁的源码分析Redisson 分布式锁实现思路锁标识:Hash 数据结构,key 为锁的名字,filed 当前竞争锁成功线程的唯一标识,value 重入次数队列:所有竞争锁失败的线程,会订阅当前锁的解锁事件,利用 Semaphore 实现线程的挂起和唤醒源码分析基于redisson3.11.5版本加锁流程图解锁核心源码:tryLockInnerAsync ...原创 2020-04-02 14:41:45 · 1673 阅读 · 0 评论 -
redis事务是否支持原子性
redis事务是否支持原子性ACID 中关于原子性的定义:原子性:一个事务(transaction)中的所有操作,或者全部完成,或者全部不完成,不会结束在中间某个环节。事务在执行过程中发生错误,会被回滚(Rollback)到事务开始前的状态,就像这个事务从来没有执行过一样。即,事务不可分割、不可约简。redis事务测试127.0.0.1:6379> multiOK127.0....原创 2020-04-01 10:22:43 · 3082 阅读 · 0 评论 -
Redis实现分布式锁进化
Redis实现分布式锁进化1、SetNXtryLock(){ SETNX $key $value}release(){ DELETE $key}如果业务执行因为某些原因意外退出了,导致创建了锁但是没有删除锁,那么这个锁将一直存在2、SetNX + SetExtryLock(){ SETNX $key $value EXPIRE $key Seconds}rele...原创 2020-03-31 17:26:16 · 1570 阅读 · 0 评论 -
redisson分布式锁并发测试
redisson分布式锁并发测试模拟秒杀抢购场景,100库存,用jmeter并发测试,起300个线程并发请求2次,总计600个请求数,最后查看库存是否为负数,证明分布式锁是否锁住了库存。注意:分布式锁并不是实现秒杀最佳方式,本文只是侧重说明分布式锁一、编写相关代码1、添加依赖项dependencies { compile 'org.springframework.boot:spr...原创 2020-03-30 17:57:25 · 2783 阅读 · 2 评论 -
redis数据迁移工具redis-migrate-tool安装使用
Redis-Migrate-Tool 使用详解Redis 集群迁移工具,基于redis复制,快速,稳定。github链接:https://github.com/vipshop/redis-migrate-tool特点:快速。多线程。基于redis复制。实时迁移。迁移过程中,源集群不影响对外提供服务。异构迁移。支持Twemproxy集群,redis cluster集群,rdb文...原创 2020-01-06 16:36:06 · 1753 阅读 · 0 评论 -
redis 告警参数优化
redis 告警参数优化针对redis服务器TCP backlog、overcommit_memory、THP三个参数优化的说明操作系统:CentOS Linux release 7.6.1810 (Core)一、TCP backlog1、告警信息WARNING: The TCP backlog setting of 511 cannot be enforced because /pro...原创 2019-12-31 15:25:46 · 1117 阅读 · 0 评论 -
redis4.0.14集群搭建
redis集群搭建介绍完Redis集群分区规则之后,下面我们开始搭建Redis集群。搭建集 群工作需要以下三个步骤:1)准备节点。2)节点握手。3)分配槽。redis版本:4.0.14准备节点Redis集群一般由多个节点组成,节点数量至少为6个才能保证组成完整 高可用的集群。每个节点需要开启配置cluster-enabled yes,让Redis运行在集 群模式下。建议为集群内所有节...原创 2019-12-13 10:50:28 · 1625 阅读 · 0 评论