Redis五种数据结构及真实应用场景
Redis 五种基本数据结构:String、Hash、List、Set、ZSet,以及真实应用场景解析。
String(字符串)简介Redis 中最基本、最常用的数据类型。二进制安全,可以存储 JSON、JPEG 等任意格式。
内部编码
整型数字 → int
≤39字节字符串 → embstr
>39字节 → raw
真实场景1. 缓存配置数据
12# 地区表等少改数据,JSON存入Stringr.set('areas', json.dumps(area_list))
2. 缓存对象
1r.set('user:1001', json.dumps(user_obj))
3. 数据统计(自增自减)
12incr page_view:url_id # 访问量计数incr like:video_123 # 视频点赞
4. 时间内限制请求(验证码5分钟有效)
12345key = f"sms:sent:{user_id}"if r.exists(key): return &qu ...
Redis哨兵原理及持久化机制
Redis 哨兵(Sentinel)原理及故障转移过程,以及 RDB/AOF 持久化机制对比。
Sentinel 工作流程
每个 Sentinel 以每秒一次的频率向 Master、Slave 及其他 Sentinel 发送 PING 命令
如果实例距离最后一次有效回复超过 down-after-milliseconds,被标记为主观下线
监视该 Master 的所有 Sentinel 以每秒一次确认 Master 进入了主观下线状态
足够数量的 Sentinel(≥ 配置值)在指定时间内确认后,Master 被标记为客观下线
Master 被标记客观下线后,对 Slave 的 INFO 命令频率从 10 秒一次改为每秒一次
若不够 Sentinel 同意,Master 客观下线状态解除
故障转移过程
Sentinel 节点间投票选举一个 Sentinel 执行故障处理
从 Slave 中选取一个作为新的 Master,其他从节点自动挂载新主节点
新 Master 选举标准
断开时长:与 Master 断开超过 (down-after-milliseconds * 10) + ...
Redis数据备份和重启恢复
Redis 持久化的两种方式:RDB 和 AOF。用于重启后的数据恢复。
RDB 快照RDB(Snapshot)是默认的持久化方式,按照一定的策略周期性的将数据保存到磁盘,对应数据文件为 dump.rdb。
默认快照设置123save 900 1 # 当有一条 Keys 数据被改变时,900秒刷新到 Disk 一次save 300 10 # 当有10条 Keys 数据被改变时,300秒刷新到 Disk 一次save 60 10000 # 当有10000条 Keys 数据被改变时,60秒刷新到 Disk 一次
RDB 的优点
Redis 的 RDB 文件不会坏掉,因为写操作是在一个新进程中进行的
生成新的 RDB 文件时,父进程 fork 出子进程,先写到临时文件,然后 rename 替换
主从同步的基础:第一次同步时 Master dump 出 rdb 文件传给 Slave
RDB 的不足一旦数据库出现故障,RDB 文件中保存的数据不是全新的。上次 RDB 文件生成到 Redis 停机期间的数据会丢失。
AOF 日志AOF(Append-Only File)持久化性更 ...
python3连接redis
基本使用普通连接123456import redisconn = redis.Redis(host="192.168.23.166", port=6379, password="123456")conn.set("x1", "hello", ex=5) # ex代表秒,px代表毫秒val = conn.get("x1")print(val)
连接池123456import redispool = redis.ConnectionPool(host="192.168.23.166", port=6379, password="123456", max_connections=1024)conn = redis.Redis(connection_pool=pool)print(conn.get("x1"))
Django全局配置1234567891011# settings. ...
详解Tomcat配置文件server.xml
Tomcat 隶属于 Apache 基金会,是开源的轻量级 Web 应用服务器,使用非常广泛。server.xml 是 Tomcat 中最重要的配置文件,server.xml 的每一个元素都对应了 Tomcat 中的一个组件。
整体结构1234567891011<Server> <Service> <Connector /> <Connector /> <Engine> <Host> <Context /> </Host> </Engine> </Service></Server>
元素分类顶层元素
<Server> 是整个配置文件的根元素
<Service> 代表一个 Engine 元素以及一组与之相连的 Connector 元素
连接器 <Connector><C ...

