随笔分类 -  redis

摘要:15. redis开发规范 key设计 三大建议 可读性和可管理型:以业务名或数据库名为前缀(防止key冲突),用冒号分割,比如业务名:表名:id, 简洁性:保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视, 不要包含特殊字符:反例:包含空格、换行、单双引号、以及其它转移字符 阅读全文
posted @ 2022-04-30 11:55 专职 阅读(44) 评论(0) 推荐(0) 编辑
摘要:缓存设计与优化 讲解将缓存加入应用架构后带来的一些问题,这些问题常常会成为应用的致命点 缓存的收益与成本 收益:加速读写、降低后端负载,前端缓存降低后端服务器的负载,业务端使用redis降低后端mysql负载 成本 数据不一致:缓存层和数据层有时间窗口不一致,跟更新策略有关 代码维护成本:多了一层缓 阅读全文
posted @ 2022-04-26 22:30 专职 阅读(52) 评论(0) 推荐(0) 编辑
摘要:本章针对redis cluster的集群伸缩、请求路由、故障转移等方面进行分析说明 集群伸缩原理 集群伸缩 = 槽和数据在节点之间的移动 扩容集群 准备新节点 集群模式、配置和其它节点统一、启动后是孤儿节点 redis-server redis-8006.conf redis-server redi 阅读全文
posted @ 2022-04-23 15:08 专职 阅读(82) 评论(0) 推荐(0) 编辑
摘要:redis cluster是redis3.0提供的分布式解决方案,有效的解决了redis分布式方面的需求,同时它也是学习分布式存储的绝佳案例。 学习redis cluster是大家学习分布式数据库的一个很好的案例 我们为什么需要redis cluster集群这样的功能? 并发量:redis单机默认支 阅读全文
posted @ 2022-04-17 21:17 专职 阅读(169) 评论(0) 推荐(0) 编辑
摘要:redis复制的原理与优化 复制是实现高可用的基石,但复制同样是运维的痛点,我们来分析复制的原理与运维过程中可能遇到的问题 什么是主从复制 单机有什么问题呢:机器故障、容量瓶颈、QPS瓶颈 机器故障是高可用问题,容量瓶颈和QPS瓶颈是分布式问题 主从复制的作用:数据副本、读写分离 小结:一个mast 阅读全文
posted @ 2022-04-16 18:47 专职 阅读(70) 评论(0) 推荐(0) 编辑
摘要:redis持久化的取舍和选择 什么是持久化 redis所有数据保存在内存当中,对数据的更新将异步保存到磁盘上 持久化方式 快照 redis RDB(mysql dump) 写日志 redis AOF (mysql binlog)(hbase hlog) RDB 触发机制-三种方式 save同步,会造 阅读全文
posted @ 2022-04-12 21:43 专职 阅读(33) 评论(0) 推荐(0) 编辑
摘要:04-瑞士军刀redis其它功能 慢查询 生命周期、两个配置、三个命令、运维经验 生命周期两点说明: 慢查询发生在第三阶段(执行命令); 客户端超时不一定是慢查询,但是慢查询是客户端超时的一个可能因素 两个配置: slowlog-max-len: 先进先出队列、固定长度、保存在内存内 slowlog 阅读全文
posted @ 2022-04-11 20:32 专职 阅读(36) 评论(0) 推荐(0) 编辑
摘要:发布者 import redis pool = redis.ConnectionPool(host="xxxxx", port=6382, db=0, password="xxxxx") r = redis.Redis(connection_pool=pool) r.publish("my-firs 阅读全文
posted @ 2022-04-10 20:31 专职 阅读(294) 评论(0) 推荐(0) 编辑
摘要:安装 pip install redis import redis pool = redis.ConnectionPool(host="xxxxxx", port=6382, db=0, password="xxxxxx", encoding="utf-8") r = redis.Redis(con 阅读全文
posted @ 2022-04-10 15:54 专职 阅读(23) 评论(0) 推荐(0) 编辑
摘要:01-redis初识 redis8大特性 速度快、持久化、多种数据结构、支持多种编程语言、功能丰富、简单、主从复制、高可用/分布式 计算机组成原理 从上到下依次是:寄存器、一级缓存、二级缓存、内存、本地硬盘、远程硬盘 速度是越来越慢的 redis多种数据结构 string、hash、list、set 阅读全文
posted @ 2022-04-10 12:51 专职 阅读(165) 评论(0) 推荐(0) 编辑
摘要:哨兵、复制、事务、集群、持久化 redis主要有哪些功能 哨兵和复制(sentinel and replication): sentinel可以管理多个redis服务器,它提供监控、提醒、故障转移等功能 replication则是可以让一个redis服务器拥有一个或多个配备服务器 redis也是利用 阅读全文
posted @ 2022-04-01 18:17 专职 阅读(220) 评论(0) 推荐(0) 编辑
摘要:redis常用命令 keys 键命令 keys 查询所有key type 查找key的类型 del 删除一个key expire 给key设置过期时间 ttl 查询key还有多长时间过期 exists 查询key是否存在 string 字符串命令 set 设置一个字符串 setex 设置一个带过期时 阅读全文
posted @ 2022-04-01 18:16 专职 阅读(24) 评论(0) 推荐(0) 编辑
摘要:redis高可用 谈到redis的高可用,如何保证备份机器是原始服务器的完整备份呢,需要使用哨兵和复制 哨兵(sentinel):可以管理多个redis服务器,它提供了监控、提醒、故障转移的功能 复制(replication):则是负责让一个redis服务器可以配备多个备份服务器 redis正是利用 阅读全文
posted @ 2022-03-31 13:44 专职 阅读(88) 评论(0) 推荐(0) 编辑
摘要:缓存雪崩 数据未加载到缓存中,或者缓存同一时间大面积的失效,从而导致所有请求都去查询数据库 导致数据库CPU和内存负载过高,甚至数据库服务器挂掉 如何预防缓存雪崩 缓存的高可用性 缓存降级: 缓存降级指的是缓存失效或者缓存服务器挂掉的情况下,不去访问数据库,直接返回默认数据或者服务的内存数据 降级一 阅读全文
posted @ 2022-03-31 09:44 专职 阅读(150) 评论(0) 推荐(0) 编辑
摘要:redis的高并发和快速的原因 redis是基于内存的,内存的读写速度极快 redis是单线程的,省去了很多上下文切换线程的时间 redis采用的多路复用技术,可以处理并发的连接,非阻塞IO内部实现采用epoll 为什么redis是单线程的 官方答案:因为redis是基于内存的,CPU不是redis 阅读全文
posted @ 2022-03-30 16:58 专职 阅读(294) 评论(0) 推荐(0) 编辑
摘要:redis缓存和mysql数据一致性方案详解 方案1:延时双删策略 方案2:异步更新缓存(基于订阅binlog的同步机制) 需求起因 在高并发的业务场景下,数据库访问成为用户并发最薄弱的环节,所以就需要redis做一个缓冲操作, 让请求先访问到redis,而不是直接访问mysql数据库 读取redi 阅读全文
posted @ 2022-03-30 15:53 专职 阅读(473) 评论(0) 推荐(0) 编辑
摘要:redis内存回收机制 redis的内存回收主要围绕一下两个方面 redis过期策略:删除过期时间的key值 redis淘汰策略:内存使用达到maxmemory上限时会触发内存淘汰数据 redis的过期策略和内存淘汰策略不是一回事 过期策略通常有以下3种 定时过期:为每个设置过期时间的key都需要创 阅读全文
posted @ 2022-03-30 15:00 专职 阅读(260) 评论(0) 推荐(0) 编辑
摘要:go-redis库的使用 安装go-redis库 go get github.com/go-redis/redis/v8 github链接 创建redis客户端并设置值 // 短信验证码发送成功,将验证码保存到redis rdb := redis.NewClient(&redis.Options{ 阅读全文
posted @ 2022-03-05 19:03 专职 阅读(274) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示