随笔分类 - Redis
摘要:博文索引 Redis 对象与编码 Redis 持久化 Redis 主从复制 Redis 哨兵 Redis 缓存淘汰 Redis 集合统计 Redis 简介 优点 多功能 提供了丰富的数据结构,可以满足很多实用场景,基本上能做到开箱即用 并且支持管道、事务、发布订阅、缓存过期、Lua脚本支持等高级功能
阅读全文
摘要:统计功能是一类极为常见的需求,比如下面这个场景: 为了决定某个功能是否在下个迭代版本中保留,产品会要求统计页面在上新前后的 UV 作为决策依据。 简单来说就是统计一天内,某个页面的访问用户量,如果相同的用户再次访问,也只算记为一次访问。 下面我们将从这个场景出发,讨论如何选择的合适的 Redis 数
阅读全文
摘要:本文从源码层面分析了 redis 的缓存淘汰机制,并在文章末尾描述使用 Java 实现的思路,以供参考。 相关配置 为了适配用作缓存的场景,redis 支持缓存淘汰(eviction)并提供相应的了配置项: maxmemory 设置内存使用上限,该值不能设置为小于 1M 的容量。 选项的默认值为 0
阅读全文
摘要:哨兵机制是 Redis 高可用中重要的一环,其核心是 通过高可用哨兵集群,监控主从复制的健康状态,并实现自动灾备: 哨兵集群以集群的方式进行部署,这种分布式特性具有以下优点: 避免系统中存在单点,防止灾备机制失效 切换 master 必须经过多个 sentinel 节点协商同意,避免出现误判 为了保
阅读全文
摘要:作为内存数据库,Redis 依然提供了持久化机制,其主要目的有两个: 安全:保证进程崩溃后数据不会丢失 备份:方便数据迁移与快速恢复 Redis 同时提供两种持久化机制: RDB 快照:数据库在某个时间点的完整状态,其存储内容为键值对 AOF 日志:包含所有改变数据库状态的操作,其存储内容为命令 R
阅读全文
摘要:为了保证服务的可用性,现代数据库都提供了复制功能,同时在多个进程中维护一致的数据状态。 Redis 支持一主多从的复制架构,该功能被简化成了一条 SLAVEOF 命令,下面通过条命令来解析 Redis 的主从复制机制。 通过 tcpdump 观察 在本机上通过 redis-server 启动两个服务
阅读全文
摘要:数据结构实现 相信大家对 redis 的数据结构都比较熟悉: string:字符串(可以表示字符串、整数、位图) list:列表(可以表示线性表、栈、双端队列、阻塞队列) hash:哈希表 set:集合 zset:有序集合 为了将性能优化到极致,redis 作者为每种数据结构提供了不同的实现方式,以
阅读全文