![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Redis
文章平均质量分 75
gossipchat
这个作者很懒,什么都没留下…
展开
-
【Redis】单线程理解及可能影响性能的操作
文章目录一. Redis的单线程二. 可能影响单线程性能的操作1. bigKey操作2. 复杂命令3. 大量key集中过期4. 淘汰策略5. 主从全量同步生成RDB6. AOF刷盘开启always机制三. 使用规范一. Redis的单线程说明:Redis单线程主要是指【网络IO】和【键值对读写】操作是由一个线程来完成的原因:避免多线程的并发控制问题及线程间的上下文切换QPS:10w级别QPS处理能力,因为大部分操作都在内存上,且采用了高效的数据结构基于多路复用的Redis高性能IO模型原创 2021-12-28 12:12:05 · 632 阅读 · 0 评论 -
【Redis】数据结构及应用
文章目录一. 说明二. 数据结构1. String2. List3. Hash4. Set1. 说明2. 应用(扑克牌)3. 集合操作5. Sorted Set1. 说明2. 应用(排行版)6. Bitmap1. 说明2. 应用(打卡/签到)7. Stream一. 说明二. 数据结构1. String二进制安全(能保存任意格式的数据)2. List链表结构快速的列头、列尾操作,时间复杂度O(1)列表查询时间复杂度O(N),考虑用Sorted List替代应用:朋友圈点赞列表lpu原创 2021-10-22 14:46:53 · 128 阅读 · 0 评论 -
【Redis】主从同步可能遇到的坑
文章目录一、主从同步可能遇到的坑1、主从数据不一致2、从库读取到过期数据二、问题1:主从数据不一致原因:主从库间命令复制是异步进行的主要有两个原因解决思路三、问题2:从库读取到过期数据原因解决思路一、主从同步可能遇到的坑1、主从数据不一致2、从库读取到过期数据二、问题1:主从数据不一致原因:主从库间命令复制是异步进行的主库收到写命令后,会发送给从库。但是,主库并不会等到从库实际执行完命令后,再把结果返回给客户端,而是主库自己在本地执行完命令后,就向客户端返回结果了。如果从库还没有执行主库同原创 2020-11-02 19:49:17 · 558 阅读 · 1 评论 -
【Redis】如何保证原子操作
需求:两个客户端同时对[key1]执行自增操作,不会相互影响操作:下面两个客户端并发操作会导致[key1]输出结果与预期不一致[客户端一]读取[key1],值为[1] [客户端二]读取[key1],值为[1] [客户端一]将[key1]自增1,值为[2] [客户端二]将[key1]自增1,值为[2] [客户端一]输出[key1],值为[2] [客户端二]输出[key2],值为[2]解决思路[客户端一]、[客户端二]的R(读)、M(自增)、W(写)三个操作作为一个原子操作执...原创 2020-10-30 12:25:01 · 7131 阅读 · 2 评论 -
【Redis】缓存穿透、缓存击穿、缓存雪崩产生原因及解决方案
文章目录一. 本文对Redis中[缓存穿透]、[缓存击穿]、[缓存雪崩]三种现象产生原因、解决方法进行说明二. 缓存穿透1. 原因2. 解决方法三. 缓存击穿1. 原因2. 解决方法四. 缓存雪崩1. 原因2. 解决方法五. 公共解决方法1. 限流:检测到接口延时较大或异常较多时,进行限流2. 熔断:检测到接口延时较大或异常较多时,使用降级数据返回或提示用户稍后再试3. 多级缓存:应将流量尽量分流或过滤,比如从网关、CDN、反向代理层等读取缓存直接返回一. 本文对Redis中[缓存穿透]、[缓存击穿]、[原创 2021-05-20 19:43:42 · 156 阅读 · 0 评论 -
【Redis】Info Stats - 监控使用情况
文章目录一、命令官方文档二、命令结果详细说明Info Stats(部分结果)total_connections_received:10total_commands_processed:10instantaneous_ops_per_sec:0total_net_input_bytes:10total_net_output_bytes:10instantaneous_input_kbps:0.00instantaneous_output_kbps:0.00rejected_connections:0expir原创 2020-10-10 15:49:20 · 1729 阅读 · 0 评论 -
【Redis】过期机制
文章目录一、过期时间设置二、Redis过期策略1、被动删除2、主动删除3、内存不足删除一、过期时间设置TTL key : 获取key的过期剩余时间,不存在返回-2 无过期时间返回-1PTTL key : 同TTL,毫秒EXPIRE key ttl : 将键的生存时间设为 ttl 秒PEXPIRE key ttl :将键的生存时间设为 ttl 毫秒EXPIREAT key timestamp :将键的过期时间设为 timestamp 所指定的秒数时间戳PEXPIREAT key timest原创 2020-09-29 15:42:14 · 301 阅读 · 0 评论