
硬核 redis 使用规范
突出强调部分 【强制】key 名不要包含特殊字符,如空格、换行、单双引号以及其他转义字符 【强制】拒绝 bigkey (防止网卡流量、慢查询) 【强制】控制 key 的生命周期,redis 不是垃圾桶 【强制】技术设计上避免热点 key 【...
突出强调部分 【强制】key 名不要包含特殊字符,如空格、换行、单双引号以及其他转义字符 【强制】拒绝 bigkey (防止网卡流量、慢查询) 【强制】控制 key 的生命周期,redis 不是垃圾桶 【强制】技术设计上避免热点 key 【...
redis服务端对于命令的处理是单线程的,但是在I/O层面却可以同时面对多个客户端并发的提供服务,并发到内部单线程的转化通过多路复用框架实现 一个IO操作的完整流程是数据请求先从用户态到内核态,也就是操作系统层面,然后再调用操作系统提供的a...
新接手的项目,偶尔会出现账不平的问题。之前的技术老大临走时给的解释是:排查了,没找到原因,之后太忙就没再解决,可能是框架的原因…… 既然项目交付到手中,这样的问题是必须要解决的。梳理了所有账务处理逻辑,最终找到了原因:数据库并发操作热点账户...
背景 在现代软件架构中,缓存的应用已经非常普及。缓存的使用在面试和实践中都是避不开的硬技能、硬知识,如果你说还不太熟悉缓存的使用,可能都不好意思说自己是程序员。 在上篇文章《如果不知道这4种缓存模式,敢说懂缓存吗?》中,我们介绍了缓存使用的...
# 问题背景 最近项目在使用linux平台c++做开发,redis用到了hiredis库。项目中用到redis list结构作为队列,生产者和消费者模式解耦异步任务: 生产者: 1. 将业务pb结构序列化为字符串 pbstr 2. 将字符串...
1、Redis键(key) 1.1、keys命令 Keys 命令用于查找所有符合给定模式 pattern 的 key 。 具体语法 keys pattern 说明 ● * :表示 0-多个字符 。 ● ?:表示单个字符。 案例 #查看数据库...
订阅与发布 1、简介 订阅与发布是redis中的一种消息通信模式,主要分为两大角色:发布者和订阅者,在发布者和订阅者之间需要一个通道,也叫频道。 发布者(pub):主要用来发送消息. 订阅者(sub);主要订阅发布者发布的消息. 通道(ch...
Redis提供了俩种持久化机制 RDB 和 AOF 一,RDB 在指定的时间间隔内将内存中的数据集快照写入磁盘,也就是行话讲的Snapshot快照,它恢复时是将快照文件直接读到内存里 ——>以快照的方式存储...
为什么需要持久化 很简单,因为 Redis 是基于内存的。数据如果不进行持久化,当服务器重启或者宕机的时候数据是无法恢复的,所以为了保证数据的安全性,我们需要将内存中的数据持久化到磁盘中。 Redis的持久化 Redis 提供了两种持久化的...
提纲 为什么要有哨兵机制? 在 Redis 的主从架构中,由于主从模式是读写分离的,如果主节点(master)挂了,那么将没有主节点来服务客户端的写操作请求,也没有主节点给从节点(slave)进行数据同步了。 主节点挂了 这时如果要恢复服务...