惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 三生石上(FineUI控件)
O
OpenAI News
WordPress大学
WordPress大学
P
Proofpoint News Feed
J
Java Code Geeks
G
Google Developers Blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Register - Security
The Register - Security
Engineering at Meta
Engineering at Meta
H
Help Net Security
人人都是产品经理
人人都是产品经理
Vercel News
Vercel News
N
Netflix TechBlog - Medium
F
Full Disclosure
U
Unit 42
Latest news
Latest news
N
News and Events Feed by Topic
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
I
InfoQ
L
LINUX DO - 最新话题
T
Threat Research - Cisco Blogs
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
K
Kaspersky official blog
Google Online Security Blog
Google Online Security Blog
小众软件
小众软件
I
Intezer
V
V2EX
S
SegmentFault 最新的问题
C
CERT Recently Published Vulnerability Notes
阮一峰的网络日志
阮一峰的网络日志
Security Archives - TechRepublic
Security Archives - TechRepublic
Recent Announcements
Recent Announcements
C
Check Point Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
Recorded Future
Recorded Future
博客园 - Franky
Project Zero
Project Zero
S
Securelist
Attack and Defense Labs
Attack and Defense Labs
Spread Privacy
Spread Privacy
The Hacker News
The Hacker News
T
The Blog of Author Tim Ferriss
Google DeepMind News
Google DeepMind News
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
NISL@THU
NISL@THU
云风的 BLOG
云风的 BLOG
S
Secure Thoughts
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed

Redis

发现一个支持云同步的 Redis GUI 工具: RedisViewer 阿里云 Redis 命中率计算与监控的问题 - V2EX Redis 运行一段时间后报错导致挂掉,有什么办法解决呢? - V2EX Redis Stream 实现 MQ 的可行性 - V2EX Redis 缓存数据 - V2EX 支持 WinXP/2003 的 Redis 服务端 - V2EX 怎么才能学好 redis,有什么好的教程或者 blog 推荐吗? - V2EX 线上服务 redis 查询超时排查求教 - V2EX 有木有安卓 app 的 client 端呀? - V2EX 除了 Tiny RDM 之外还有什么比较好用的 Redis GUI 工具么? - V2EX Redis 支持 Hash 字段单独设置过期时间 - V2EX Redis 加上密码后,整体性能下降 20%? - V2EX 新学 redis 集群的疑惑 - V2EX Garnet 真比 Redis 快吗? - V2EX Redis 几乎每小时都出现大量超时,求助 - V2EX 问一下大家 redis 的配置 - V2EX Redis 怎样将字节串传递给 lua 脚本? - V2EX 微软 Garnet 的发展前景如何,有没有可能替代 Redis? - V2EX 业内有没有把 redis 开启 aof=always 当做数据库使用的? - V2EX 有谁试过 redis 的 string 自增性能吗, 我这怎么是个位数? - V2EX 突然想起一个问题,你们用的 redis 有崩过吗?是什么原因崩的? - V2EX 关联表查询结果的 Redis 缓存如何设计 API 请求如何方便的做并发测试? - V2EX 请教兄弟们一个问题, datagrip 连接 redis 如何显示 redis 键的 过期时间呢? 关于 Redis RESP3 的想法 - V2EX 轻便式 Redis Monitor 面向研发人员图形可视化监控平台 Redis 中使用 pipeline 执行命令时,有单次执行数量的限制吗? - V2EX [故障模拟]redis cluster 3 机 3 主 6 从,主节点都转移到了其中一台机器上,然后这台机器宕机 你们现在连接 redis 集群是用的什么工具,可以分享一下下载链接吗? - V2EX 求教一下 Redis 哨兵模式下,主从延迟问题 - V2EX 想问下大佬 40M 的字符串适合放到 redis 缓存吗? - V2EX redis 有时取不到值 - V2EX redis 集群中 执行事务 或者 lua 脚本 涉及到多个 key 时,这些 key 要求在同一个节点还是同一个 slot? - V2EX redis 7 所有命令都是原子的吗? - V2EX Redis 是鸡肋吗? - V2EX Redis 服务挂了,一段时间后又恢复,不会造成缓存与数据库不一致吗? - V2EX 为什么 MySQL 有缓存,还要使用 Redis? - V2EX 关于缓存一致性问题,不知道我这个方案是否可行 - V2EX redis 集群获取不到连接 - V2EX 用 redis 直接替换 app/物联网的 mq 服务器的可行性大吗?怎么对客户端进行限制 - V2EX redis 怎么裁剪 zset 只保留排名前 100 的数据 - V2EX 缓存失效后先返回再触发更新的场景要怎么处理? - V2EX 求教大佬,线上 redis cluster 中适合使用 redis lua script 吗?以及使用时有什么注意事项? - V2EX 怎么使用命令批量删除匹配的 key 值? - V2EX 对 redis 的 zset 做分片的时候怎么选择分片个数 - V2EX 关于消息推送方案的讨论 - V2EX Redis 的 zset 按 score 排序做分页的时候怎么保证数据不丢失? - V2EX redis 的 zset 如果打散成多个 zset 的话,如果要分页查询怎么处理呢? - V2EX 关于社区场景下,用户已读文章不再推荐这种需求实现方案的探讨 - V2EX 一个 abtest 实验中 redis 设计的思考
关于 redis 一个小问题(随机性) - V2EX
golangggg · 2023-07-23 · via Redis

这是一个创建于 1058 天前的主题,其中的信息可能已经有所发展或是发生改变。

如题 想使用 redis 实现一个均匀使用 ip 的功能,
自己有 10 个代理 ip, 想均匀的使用 ( 轮训着用 一个接着一个 循环往复)
使用过两种方案
1.ip 存为 set 类型 每次使用 srandmember 随机抽取, 但测试发现 非常不随机
2.ip 存为 list 类型 每次 rpoplpush 到同一队列, 这个可以实现完全平均的使用,但有个问题无法解决, 因为可能某一个 ip 某短时间不可以使用, 需要从队列中移除, 但是使用 list 无法移除某一个失效的 ip
想问下大佬们 有什么好的解决方案吗

zjp

1

zjp      2023 年 7 月 23 日 via Android

失效 IP 比例不高的话,可以方案二 + 再维护一个 set ,命中则再从 list 取一次

mineralsalt

2

mineralsalt      2023 年 7 月 23 日

因为同一个 ip 可以同时执行很多请求, 如果用的时候从列表中移除,挺耽误效率的。

mineralsalt

3

mineralsalt      2023 年 7 月 23 日

针对失效 ip 的问题我是这么解决的,分两块, 第一单独开一个线程定期扫描 ip 库添加可用的 ip 到 set 中。第二用的时候随机取, 但是需要封装统一 http 请求捕获异常,并且把请求超时时间设置的比较短。 当发生任何请求失败时从 redis set 中删除这个 ip , 这样基本上可以保证可用 ip 池都是新鲜可用的, 唯一的缺点就是失败的请求要重新取 ip 重试, 耽误几秒钟

xuanbg

4

xuanbg      2023 年 7 月 23 日

zset 存 ip ,每次取 score 最小的,然后将这个 ip 的 score+1

pastgift

6

pastgift      2023 年 7 月 23 日

list 也可以移除 ip 吧

pastgift

7

pastgift      2023 年 7 月 23 日

127.0.0.1:6379> lpush test a
(integer) 1
127.0.0.1:6379> lpush test b
(integer) 2
127.0.0.1:6379> lpush test c
(integer) 3
127.0.0.1:6379> lrange test 0 -1
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> lrem test 0 b
(integer) 1
127.0.0.1:6379> lrange test 0 -1
1) "c"
2) "a"
127.0.0.1:6379>

golangggg

8

golangggg      2023 年 7 月 23 日

@mineralsalt set 得问题方案 1 说到了, 非随机, 实际调用下来 多的跟少的能差一倍调用量, 另外 就是无法按照 12345678910 这个顺序 轮训使用 所以 不符合我的需求

golangggg

9

golangggg      2023 年 7 月 23 日

@zjp 感觉是一个好方案, 其实不用 set 命中了应该按照 7 楼说的直接删除也行 我测一下

golangggg

10

golangggg      2023 年 7 月 23 日

@xuanbg 用过这种方案, 并发不高的时候没问题,但是高并发的时候 做不到轮训的效果, 会导致某一个 ip 被连续取到多次

mineralsalt

13

mineralsalt      2023 年 7 月 23 日

@golangggg #8 那说明你的 ip 池比较小吧, 我 100 多个 ip 感觉还行, 如果强行加锁给每个 ip 都设定权重,就会影响并发效率, 怎么取舍就看你了

happyxhw101

15

happyxhw101      2023 年 7 月 24 日

为什么不用 nginx 的 tcp 负载均衡