分类
业精于勤荒于嬉,行成于思毁于随
redis应用 redis应用
分布式锁实现:set lock:codehole true ex 5 nx 注意:不要用于较长任务,可能超时释放 优化:设置value是一个随机值,保证不会被其他线程释放 可重入锁:基于线程的Threadlocal变量存储当前持有锁的计数。
2021-03-10
redis思维导图 redis思维导图
博客中redis相关思维导图。
2021-03-08
redis6.0 redis6.0
多线程问题单个主线程处理网络请求的速度跟不上底层网络硬件的速度。 优化多个 IO 线程并行处理网络操作,可以提升实例的整体处理性能。 使用单线程执行命令操作,就不用为了保证 Lua 脚本、事务的原子性,额外开发多线程互斥机制了。 具体流程1
2020-12-09
redis消息队列 redis消息队列
需求分析 消息保序:消费者需要按照生产者发送消息的顺序来处理消息 处理重复的消息:消费者避免多次处理重复的消息 保证消息可靠性:消费者重启后,可以重新读取消息再次进行处理 基于List LPUSH 把要发送的消息依次写入 Lis
2020-11-02
redis事务 redis事务
事务实现基本命令 MULTI 显式地表示一个事务的开启,把这些命令暂存到一个命令队列中 EXEC 实际执行命令队列中的所有命令 DISCARD 主动放弃事务执行,把暂存的命令队列清空(起不到回滚的效果) WATCH 在事务执
2020-11-01
redis分布式锁 redis分布式锁
为了保证并发访问的正确性,Redis 提供了两种方法,分别是加锁和原子操作。 原子操作 单命令操作(INCR/DECR); 把多个操作写到一个 Lua 脚本中,以原子性方式执行单个 Lua 脚本 分布式锁 分布式锁的加锁和释放锁的过程,涉
2020-10-29
redis缓存 redis缓存
redis缓存使用 应用读取数据时,需要先读取 Redis; 发生缓存缺失时,需要从数据库读取数据并更新缓存。 Redis为旁路缓存,因为读取缓存、读取数据库和更新缓存的操作都需要在应用程序中来完成。 缓存分类 只读缓存:加速读请求。
2020-10-27
redis RBD机制 redis RBD机制
RDB 就是 Redis DataBase,内存中的全量数据在某一个时刻的状态记录。 快照机制引入原因AOF日志进行故障恢复的时候,需要逐一执行操作日志。如果操作日志非常多,Redis 恢复得很慢,影响到正常使用。 bgsave命令 主进程
2020-10-26
redis AOF机制 redis AOF机制
先写内存,在写日志。1、命令执行成功才会被记录日志。2、避免对当前命令的阻塞。 风险1、突然宕机,Redis用作数据库的话,命令可能没有记入日志,所以就无法用日志进行恢复了。2、AOF 虽然避免了对当前命令的阻塞,但可能会给下一个操作带来阻
2020-10-26
redis网络IO模型 redis网络IO模型
单线程Redis 是单线程,主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的。持久化、异步删除、集群数据同步等,其实是由额外的线程执行的。 避免了多线程编程模式面临的共享资源的并发访问控制问题。 多路复用机制一个线程处理
2020-10-26
redis数据结构 redis数据结构
基本数据结构包括:String(字符串)、List(列表)、Hash(哈希)、Set(集合)和 Sorted Set(有序集合) 基本数据结构 底层实现 string 动态字符串 List 双向链表、压缩列表 Hash
2020-10-26
redis变慢以及优化方法 redis变慢以及优化方法
确定问题1、查看 Redis 的响应延迟。2、基于当前环境下的 Redis 基线性能做判断基线性能是系统在低压力、无干扰下的基本性能,Redis 运行时延迟是其基线性能的 2 倍及以上,可认定 Redis 变慢了。 问题定位1、通过 Red
2020-10-26
1 / 2