Redis
文章平均质量分 60
远处的海亲吻着天
从事JAVA软件开发
展开
-
Redis 缓存穿透、击穿、雪崩
初认识缓存穿透:key对应的数据在数据源并不存在,每次针对此key的请求从缓存获取不到,请求都会到数据源,从而可能压垮数据源。比如用一个不存在的用户id获取用户信息,不论缓存还是数据库都没有,若黑客利用此漏洞进行攻击可能压垮数据库。 缓存击穿:key对应的数据存在,但在redis中过期,此时若有大量并发请求过来,这些请求发现缓存过期一般都会从后端DB加载数据并回设到缓存,这个时候大并发的请求可能会瞬间把后端DB压垮。 缓存雪崩:当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也原创 2021-05-05 17:45:30 · 222 阅读 · 0 评论 -
Redis Sentinel
Redis Sentinel1.主从复制高可用的问题主从复制高可用的作用1.为master提供备份,当master宕机时,slave有完整的备份数据2.对master实现分流,实现读写分离但是主从架构有一个问题1.如果master宕机,故障转移需要手动完成或者由别的工具来完成,从slave中选择一个slave做为新的master写能力和存储能力受限只能在一个节点是写...原创 2019-04-03 17:41:39 · 470 阅读 · 0 评论 -
Redis持久化 - RDB和AOF
一、持久化的作用1. 什么是持久化持久化(Persistence),即把数据(如内存中的对象)保存到可永久保存的存储设备中(如磁盘)。持久化Redis所有数据保持在内存中,对数据的更新将异步地保存到磁盘上。2. 持久化的实现方式快照方式持久化快照方式持久化就是在某时刻把所有数据进行完整备份。例:Mysql的Dump方式、Redis的RDB方式。写日志方式持久化...原创 2019-04-02 18:19:02 · 166 阅读 · 0 评论 -
Redis 复制的原理与优化
Redis 复制的原理与优化什么是主从复制 复制的配置 全量复制和部分复制 故障处理主从复制:为应对单机故障问题,redis采用主从复制的方式 实现高可用。从节点将主节点数据复制过来 保持数据同步。一主多从的高可用方式主从复制的作用:多数据副本,扩展读性能。主从复制的配置salveof命令通过命令方式 slaveof 127.0.0.1 6379,将638...原创 2019-04-02 17:57:24 · 253 阅读 · 0 评论 -
Redis学习笔记 - Slow Log 慢查询日志
什么是 SLOW LOG1. Slow log 是 Redis 用来记录查询执行时间的日志系统。2. 查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。3. slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。SLOW LOG 慢...翻译 2019-04-01 23:43:12 · 411 阅读 · 0 评论 -
Redis学习笔记 - HyperLogLog
什么是 HyperLogLogRedis 在 2.8.9 版本添加了 HyperLogLog 结构。Redis HyperLogLog 的本质还是字符串。Redis HyperLogLog 是用来做基数统计的算法,HyperLogLog 的优点是,在输入元素的数量或者体积非常非常大时,计算基数所需的空间总是固定 的、并且是很小的。在 Redis 里面,每个 HyperLogLog ...原创 2019-04-01 23:37:12 · 109 阅读 · 0 评论 -
Redis学习笔记 - pipline(流水线、管道)
一、什么是 pipline1. 一次网络命令的通信模型1次网络命令时间 = 1次网络传输时间(往返) + 1次命令执行时间2. 批量网络命令的通信模型n次网络命令时间 = n次网络传输时间(往返) + n次命令执行时间3. pipline可以打包n条命令,一次性传输到服务端,再按顺序返回命令的执行结果1次pipline(n条命令)网络命令时间 = 1次网...原创 2019-04-01 23:30:44 · 1082 阅读 · 0 评论 -
Redis学习笔记 - Bitmaps(位图)
什么是 BitmapsBitmaps 并不是实际的数据类型,而是定义在String类型上的一个面向字节操作的集合。因为字符串是二进制安全的块,他们的最大长度是512M,最适合设置成2^32个不同字节。Bitmaps 的最大优势之一在存储信息时极其节约空间。例如,在一个以增量用户ID来标识不同用户的系统中,记录用户的四十亿的一个单独bit信息(例如,要知道用户是否想要接收最新的来信)仅仅使用...翻译 2019-04-01 22:54:51 · 1500 阅读 · 0 评论 -
Redis 开发运维常见问题
Redis 开发运维常见问题fork操作 进程外开销 AOF追加阻塞 单机多实例部署fork操作首先fork操作是个同步操作,例如执行bgsave/aof 重写时,主线程执行fork同步 响应OK 生成子线程 与内存量息息相关:内存越大,耗时越大 info: latest_fork_usec 查看上次执行fork 消耗的微妙数改善fork使用性能较高的物理机 控制Red...翻译 2019-04-02 10:36:19 · 338 阅读 · 0 评论 -
Redis Cluster原生安装
Redis Cluster原生安装1、配置开启节点配置六个节点:7000.conf-7005.conf其他五个配置项一样,相应的端口记日志文件改为对应的端口号就可以。#redis基本配置port 7000daemonize yespidfile /var/run/redis-7000.piddir /opt/module/redis-cluster/datalogfile ...翻译 2019-04-04 18:02:23 · 207 阅读 · 0 评论 -
Redis API使用
通用的命令keys 遍历所有的key ,生产环境尽量不要使用,可以在从节点使用,或用scan 来查询 dbszie 计算key的总数,可以在生产环境使用,时间复杂度O(1) exists key 检查key 是否存在 del key 删除Key expire key seconds 设置过期时间 ttl key 查看key的过期时间...原创 2019-03-26 20:06:23 · 1990 阅读 · 0 评论 -
Redis Cluster 初识
Redis Cluster 解决的问题:单机已经sentinel 都无法提高 并发量,而Cluster 可以动态的扩充节点增加并发量 单机以及sentinel 本地存储的数据量也是有限的,而Cluster 可以动态的扩充节点存储的数据量数据分布当单机情况无法满足全量数据的存储,这时我们就需要-数据分区常用的分区方式: 顺序分区 、哈希分区 ...原创 2019-04-04 17:32:26 · 161 阅读 · 0 评论 -
Redis 初识
redis是什么开源 基于键值对存储服务系统 多种数据结构 高性能、功能丰富redis特性速度快 持久化 多种数据结构 支持多种编程语言 功能丰富 简单 主从复制 高可用、分布式速度快:官方给出性能是10W OPS,并且数据存储在内存中,由C语言编写的,线程模型 是单线程 持久化:Redis所有数据保存在内存中,对数据的更新将异步地保存到磁盘上 数据结...翻译 2019-03-26 14:24:56 · 142 阅读 · 0 评论 -
详解redis的全量复制与部分复制
全量复制全量复制的原理redis全量复制的原理是,首先将master本身的RDB文件同步给slave,而在同步期间,master写入的命令也会记录下来(master内部有一个复制缓冲区,会记录同步时master新增的写入),当slave将RDB加载完后,会通过偏移量的对比将这期间master写入的值同步给slave。来看一张完整的复制流程图:1. slave内部首先会发送一个p...转载 2019-02-20 22:28:46 · 672 阅读 · 0 评论