asuka321's recent timeline updates
asuka321

asuka321

V2EX member #252115, joined on 2017-09-02 15:42:09 +08:00
Today's activity rank 21424
asuka321's recent replies
一个概念我觉得首先要明确到底是为了解决什么问题,github 上 readme 写的特点是 cache 命中和吞吐超过 redis 和 memcached ,如果在同基准下能做到就已经很好了,可以详细说说这个是怎么做的。
但这篇文章的一致性问题
站在大的架构概念上考虑,这已经不是一个纯粹的缓存服务了,更像是一个分布式锁,或者说都不是分布式锁,而是数据库锁的外置版本。使用它有非常重的架构成本,不是直接引入就好的,举几个例子
1. 你的逻辑会直接依赖于数据库的隔离级别,你的更新写入依赖于数据库的事务,写入的 key 按你上面说的是先 select for update 查出来的,就不提你这样可能查出一大堆的数据直接打爆应用,数据库在 rr 和 rc 的隔离级别下锁住的范围都不是一致的,这里就已经可能出现冲突了。
2. 你需要业务强依赖缓存组件,本来增加缓存是为了给数据库增加容错,缓存挂了降级到数据库也能撑一会,现在缓存一挂服务直接不可用这不可以接受
3. 如果你的缓存仅有 kv 写入,而且也没有过期的能力,业务为了这个功能引入这个组件的目的是什么

站小的细节考虑,锁有很多问题需要考虑,redis 最有名的锁应该是 redlock 吧,但它的一致性仍有非常多的讨论,可以参看 https://zhangtielei.com/posts/blog-redlock-reasoning.html
我没翻源码,仅从文章上说几个点
1. 如果你想维持完美的一致性,那缓存读锁的时间是组件决定还是业务决定,太长影响 set 失败后的自然过期,太短数据库的查询又可能超时。
2. 更新后,你有一步是删除 key ,如果一个连接超时,客户端拿到的是超时的结果,你是会重试还是事务直接结束,如果结束已经更新的 key 要不要回滚,如果重试,那之前的连接发送的 delete 在组件里可能已经成功了,现在是另一个连接拿到了这个 key 的锁,之前的连接重试能不能直接删除这个 key ?
3. 集群的方案没有那么简单的,就算用 raft ,你可以解决选主的问题,那主从直接的同步是怎么做的,是写入的时候全部节点成功才算成功?异常节点重启后怎么恢复缓存,什么时候才能认为缓存已经和集群同步可以加入集群?如果集群全挂了重启怎么办?
@lpynbysa #6 可能是默认文件路径不存在,我修了一下把表不存在和文件不存在区分开了,文件路径也加到配置里去了,在插件市场里更新一下,然后重新进网易云传感器里同步下看看
@lpynbysa #4 网易云采集是通过本地 sqlite 的数据库的,可能版本不太一样,你的网易云版本和系统版本能发一份给我么,我看看
@lpynbysa #2 要在设置-传感器里把相关的传感器开一下,这个 agent 目标不是说可以实时去查当前你的状态是什么,是采集你的信息,然后记录下来便于后续分析。因为插件同步会有聚批逻辑,会有一定延迟,想立即看结果可以去对应的传感器设置里点立即同步。这样再问 ai 就能回答了
Dec 23, 2025
Replied to a topic by vevlins › 酷工作 › [真缺人|北、上、杭] 小红书内推
有 wx 么,加一个跟跟进度?
@fuchaofather 对,然后兜底在 clash 的规则里配置下 tracker 域名直连
@povsister 对,但这样不可避免要走旁路由,旁路由我个人不太喜欢,所以就没采用

@PhoenixTreeLL 储藏室里有扫地机吸尘器一堆杂货,都塞满了,我都考虑把次卫的淋浴拆了建机柜,后面想想还是算了🤣

@maybeonly 是的,早期规划和布线非常重要,所以文章里各种折腾就是在不改造基建的情况下辗转腾挪。看了下你的方案非常厉害 orz ,目前我还没有做非常细致的路由分流,后面也要学习折腾一下
@XueXianqi 家庭网络设计非常因人而异,每个人的侧重点不一样,我是因为一个人住加有很多翻墙的需求,所以相关的改造就比较多。看你的帖子主要是纠结硬件选择和拓扑,你可以先列一下你的需求有哪些,核心需要保障的是什么,比如是不是和家人住一起?是不是有打网络游戏的需求等等。目前看如果书房-弱电有多光纤我是趋向都放书房的,管理/监看起来方便一些
@carrionlee 在决定要全屋透明代理的时候,就只能选择软路由了😂
@fuzzsh 一切的基础就是没动房屋结构,入户光纤就在弱电箱里,整个挪出去成本太大了。全无线的稳定性没有有线好,而且要达到内网 2.5g 速率成本也比较高的。

你提的翻墙方案其实就是现在运行的 clash 规则分流的方案,只不过由路由表判断 cn 换成 clash 判断了而已。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2775 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 13:10 · PVG 21:10 · LAX 05:10 · JFK 08:10
♥ Do have faith in what you're doing.