redis
文章平均质量分 88
ゞ浪人与酒丶0
有一种力量无人能抵挡,它永不言败生来倔强。有一种理想照亮了迷茫,在那写满荣耀的地方。
展开
-
Redis - 主从同步
Redis - 主从同步Redis 主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其它从服务器的主服务器。这使得Redis可执行单层树复制。存盘可以有意无意的对数据进行读写操作。由于完全实现了发布/订阅机制,使得从数据库在任何地方同步树时,可订阅一个频道并接收主服务器完整对消息发布记录。同步对读取操作对可扩展性和数据冗余很有帮助有了主从,当 master 挂掉的时候,让从库过来接管,服务就可以继续,否则 master 需要经过数据恢复和重启的过程,这种可能会拖很长的时间,影响原创 2022-04-05 16:53:13 · 1956 阅读 · 0 评论 -
Redis - HyperLogLog
Redis - HyperLogLogRedis 在2.8.9版本添加了 HyperLogLog 结构在介绍HyperLogLog之前,我们先思考一个常见的业务问题:如果开发一个大型网站,要记录每个网页每天的UV数据,我们应该如何实现呢?如果统计PV那非常容易,给每个网页一个独立的Redis计数器就可以了,这个计数器的key后缀加上当天的日期。这样来一个请求,incrby一次,最终就可以统计出所有的PV数据。但是UV不一样,它要去重,也许我们可以想到一个简单的方案,为每个网页创建一个set集合来存储当原创 2022-04-05 16:43:06 · 930 阅读 · 0 评论 -
Redis - LRU
Redis -LRU当 Redis 内存超出物理内存时,内存的数据会开始喝磁盘产生频繁的交换(swap)交换会让 Redis 的性能急剧下降,对于访问量比较频繁的 Redis 来说这样龟速的存取效率基本上等于不可用。在生产环境下我们是不允许 Redis 出现交互行为的,为了限制最大使用内存,Redis 提供了配置参数 maxmemory 来限制最大内存当实际内存超出 maxmemory 时,Redis 提供了集中可选策略策略介绍no-eviction当内存不足以容纳新写入数据时原创 2022-04-05 16:23:23 · 1100 阅读 · 0 评论 -
Redis - 慢查询
Redis - 慢查询Redis 的慢查询日志功能用于记录执行时间超过给定时长的命令请求,用户可以通过这个功能产生的日志来监视和优化查询速度。服务配置慢查询参数:slowlog-log-slower-than 选项指定执行时间超过多少微秒(1秒等于 1000000 微秒)的命令请求会被记录到日志上举例,如果这个选项值为100,那么执行时间超过100微秒的命令就会被记录到慢查询日志,如果这个选项为500,那么执行时间超过500微秒的命令就会被记录到慢查询日志slowlog-max-len 选原创 2022-03-22 22:30:13 · 2342 阅读 · 0 评论 -
Redis - Pipeline
Redis - PipelineRedis 的 pipeline(管道)功能在命令行中没有,但 redis 是支持 pipeline 的,而且在各个语言的 client 都有相应的实现。由于网络开销延迟,就算 redis server 端有很强的处理能力,也会由于收到的 client 消息少,而造成的吞吐量小。当 client 使用 pipeliing 发送命令时 redis server 必须将部分请求放到队列中(使用内存),执行完毕后一次性发送结果;如果发送的命令很多的话,建议对返回结果加标签,当然这原创 2022-03-17 09:58:30 · 2506 阅读 · 0 评论 -
Redis - 通信协议
Redis - 通信协议Redis 的作者认为数据库系统的瓶颈不在于网络流量,而是数据库自身内部逻辑处理上。所以即使Redis 使用了浪费流量的文本协议,依然可以取得极高的访问性能。Redis 将所有数据都放在内存,用一个单线程对外提供服务,单个节点在跑慢一个 CPU 核心的情况下可以达到了 10w/s的超高 QPS。RESP(Redis Serialization Protocol)RESP 是 Redis 序列化协议的简写。它是一种直观的文本协议,又是在于实现异常简单,解析性能极好。Redis原创 2022-03-17 09:35:07 · 1354 阅读 · 0 评论 -
Redis - Info指令
Redis - Info指令在使用 Redis 时,时常会遇到很多问题需要诊断,在诊断之前需要了解 Redis 的运行状态,通过强大的 Info 指令,可以清晰地知道 Redis 内部一系列运行参数。Info 指令显示的信息非常繁多,Server: 服务器运行的环境参数Clients: 客户端相关信息Memory: 服务器运行内存统计数据Persistence: 持久化信息State: 通用数据统计Replication: 主从复制相关信息CPU: CPU使用情况commandstat原创 2022-03-06 22:49:42 · 1182 阅读 · 0 评论 -
缓存穿透解决方案-布隆过滤器
文章目录1. 什么是布隆过滤器2. 布隆过滤器原理介绍3. 布隆过滤器使用场景4. 手写布隆过滤器5. 利用Google开源的Guava中自带的布隆过滤器6. Redis中的布隆过滤器1. 什么是布隆过滤器布隆过滤器(Bloom Filter)是一个叫做Bloom 于1970年提出的。我们可以把它看做由二进制向量(或者说位数组)和一系列随机映射函数(哈希函数)两部分组成的数据结构。相比于我们平时用的 List 、Map 、Set 等数据结构,它占用看见更少并且效率更高。但是缺点是其返回的结果是概率性的,原创 2021-08-10 18:30:48 · 513 阅读 · 1 评论 -
Redis - GEO
Redis - GEORedis 在 3.2版本以后增加了地理位置 GEO 模块, 意味着我们可以使用 Redis 来实现摩拜单车 【附近的Mobike】、美团和饿了么 【附近的餐馆】这样的功能来。用数据库来算附近的人地图元素的位置数据使用二维的经纬度表示,经度范围【-180,180】,纬度范围【-90,90】,纬度正负以赤道为界,北正南负,经度正负以本初子午线(英国格林尼治天文台) 为界,东正西负。比如比如掘金办公室在望京 SOHO,它的经纬度坐标是 (116.48105,39.996794),都是原创 2022-02-26 16:30:27 · 608 阅读 · 0 评论 -
Redis主从复制与优化
Redis主从复制原理与优化主从复制我们关注主从复制之前,首先要考虑单机有什么问题?机器故障容量瓶颈QPS瓶颈这些都是单节点所遇到的问题,所以这个时候出现了主从复制(一主一从,一主多从)使用主从复制可以:数据副本扩展读性能注意:一个master可以有多个slave一个slave只有一个master数据流向是单向的,master到slave主从复制的配置两种实现方式slaveof命令两台机器:主节点:47.11.11.11 从节点 47.22.22.22原创 2020-10-13 23:16:14 · 688 阅读 · 0 评论 -
Redis持久化
Redis的持久化取舍和选择持久化的作用什么是持久化redis所有的数据都是保存在内存中,对数据的更新将异步的保存在磁盘中,如果数据没有持久到硬盘中,当redis服务器重启,redis数据将会丢失RDB什么是RDBRDB持久化是把当前进程数据生成快照保存到硬盘的过程,触发RDB持久化过程分为手动触发和自动触发。RDB触发机制 – 主要三种save (同步)save命令:阻塞当前Redis服务器,知道RDB过程完成为止,对于内存比较大的实例会造成长时间阻塞,先上环境不建议使用原创 2020-10-05 16:51:28 · 630 阅读 · 0 评论 -
Redis进阶
Redis进阶慢查询生命周期说明:(1) 慢查询发生在第三阶段(2) 客户端超时不一定慢查询,单慢查询是客户端超时的一个可能因素两个配置slowlog - max -len先进先出队列固定长度保存在内存内slowlog - log - slower - than慢查询阀值(单位:微妙)slowlog-log-slower-than = 0 , 记录所有命令slowlog-log-slower-than < 0 , 不记录所有命令其中slowlog-l原创 2020-09-27 15:08:31 · 645 阅读 · 0 评论 -
Redis初识
redis初识1. Redis是什么开源基于建值对对存储服务系统多种数据结构Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。官网:https://redis.io/高性能 ,功能丰富2. Redis的前世今生Redis的特性速度快官方给出的 10w OPS数据存在内存中,读取非常快用c语言实现的(50000 line)Redis 线程模型:单线程原创 2020-09-08 21:56:01 · 631 阅读 · 0 评论 -
分布式接口限流实现
文章目录为什么要接口限流为什么要做分布式实现方式1. 算法实现(无分布式,单体架构,单节点)2. 分布式实现为什么要接口限流在我们项目开发过程中,有些接口是暴露在用户的常用中,包括一些高危接口,如 (支付,开发票,订单),这些接口 都是高危接口,且被用户经常使用,在高并发的情况下,io阻塞,不可避免的出现重复提交,或者点击频繁的操作,所以我们就要加入限流,避免用户多次点击,减少我们接口的压力,把整数据不会重复,接口压力减小为什么要做分布式在我们做项目负载均衡的时候, 分布式,微服务架构的时候原创 2020-06-19 23:02:57 · 2443 阅读 · 0 评论 -
解决redis序列化java8 LocalDateTime
文章目录redis 序列化问题解决方案1. 使用注解的方式2. 使用全局配置文件redis 序列化问题在 JDK8 中 官方提出 LocalDateTime 的时间格式,因为他是线程安全的,在我们的业务中,我们需要把 一些数据存到缓存中,不可避免的存 LocalDateTime 格式的时间,相信许多小伙伴都有遇到 存取 出现 LocalDateTime序列化异常在我们实际开发中 LocalDateTime格式 会有 T 下面序列化我们把 T 业序列化解决方案1. 使用注解的方式原创 2020-06-16 15:56:35 · 2733 阅读 · 1 评论