随笔分类 - Redis
摘要:一、双写一致性 双写一致性,也就是说 Redis 和 mysql 数据同步 双写一致性数据同步的方案有: 1、先更新数据库,再更新缓存 这个方案一般不用: 因为当有两个请求AB先后更新数据库后,A应该先更新缓存,但是因为网络原因,B却先更新了缓存,导致了脏数据,所以不考虑用。 2、先删缓存,再更新数
阅读全文
摘要:当并发量大于单机 Redis 的并发量时,或者数据量大于单机内存的容量,就可以采用加机器分布式集群的方式来解决。 在 Redis 中,集群是 3.0 以后加入的,3.0——5.0 之间需要采用了 ruby 脚本实现集群,而 5.0 之后就内置了。 一、数据分布 假设全量的数据非常大,500G,单机已
阅读全文
摘要:一、Sentinel说明 在主从复制中,master 挂掉了,那么整个就崩掉了,因为 slave 不能写数据。 所以哨兵的作用就是让 Redis 的主从复制高可用 在 master 挂掉后,Sentinel 在选一个 slave 当做 master,就算之前的那个 master 启动起来了,也只能当
阅读全文
摘要:一、什么是主从复制 主从复制就是一个主库,一个从库或多个从库,一主多从。 主库就负责写数据,从库跟主库数据同步起来,这样就可以从库读数据,主库写数据,实现读写分离。 而且数据流向是单向的,从 master ——> slave,主库挂掉了,从库的数据还在。 原理: 1. 从库通过 slaveof 12
阅读全文
摘要:持久化就是将 Redis 的所有数据保存在内存中,对数据的更新将异步保存到硬盘上 持久化的实现方式: 快照:在某时某刻对数据进行一次完整备份 RDB 写日志:记录所有的操作日志,要恢复数据,只要把日志重新走一遍就可以了 AOF 一、RDB RDB 就是在 Redis 触发备份的时候,创建 RDB 文
阅读全文
摘要:一、通用命令 **keys:**keys命令一般不在生产环境中使用,生产环境key很多,时间复杂度为o(n),用scan命令 keys * # 打印出所有key keys he* # 打印出所有以he开头的key keys he[h-l] # 打印出所有以he开头,第三个字母是h到l的范围 keys
阅读全文
摘要:一、Celery异步任务框架 Celery是一个异步任务框架,并且是一个简单、灵活可靠的,处理大量消息的分布式系统 Celery服务为其他项目服务提供异步解决任务的需求,内置socket Celery可执行的任务:执行异步任务,执行延迟任务,执行定时任务 Celery 官方文档英文版:http://
阅读全文
摘要:一、Redis Redis 是一个 key-value 的存储系统,和Memcached类似,value 有五大数据类型,并且数据都是缓存在内存中。 string(字符串) list(链表) set(集合) zset(有序集合) hash(哈希类型) Redis 的好处特点 好处: 速度快:因为数据
阅读全文