你不需要破解任何东西;)
我不完全确定为什么你需要关于mysql的数据.如果我知道,也许会有更合适的答案.在任何情况下,作为通用答案,您可以使用redis键空间通知
您可以在密钥上订阅HSET,HMSET,HDEL和DEL命令,因此每次删除密钥或设置或删除哈希值时都会收到通知.
请注意,如果您错过任何通知,则会出现不一致.所以有一段时间你可以使用SCAN命令遍历所有密钥并检查mysql是否需要更新.
另一种策略可能是维持两个独立的结构.一个是具有值的散列,另一个是按更新的时间戳排序的所有值的ZSET.保持两种结构最新的最佳方法是编写两个或三个lua脚本(插入/更新和删除),这些脚本将以原子方式对哈希和zset进行操作.
然后,您可以定期查询ZSET,查找时间戳高于上次同步操作的元素,获取所有已更新的密钥(包括已删除的密钥,除非您想为这些密钥专门保留第二个ZSET),然后只需按键检索所有元素并同步到mysql.
希望它对你有用!
你不需要破解任何东西;)
我不完全确定为什么你需要关于mysql的数据.如果我知道,也许会有更合适的答案.在任何情况下,作为通用答案,您可以使用redis键空间通知
您可以在密钥上订阅HSET,HMSET,HDEL和DEL命令,因此每次删除密钥或设置或删除哈希值时都会收到通知.
请注意,如果您错过任何通知,则会出现不一致.所以有一段时间你可以使用SCAN命令遍历所有密钥并检查mysql是否需要更新.
另一种策略可能是维持两个独立的结构.一个是具有值的散列,另一个是按更新的时间戳排序的所有值的ZSET.保持两种结构最新的最佳方法是编写两个或三个lua脚本(插入/更新和删除),这些脚本将以原子方式对哈希和zset进行操作.
然后,您可以定期查询ZSET,查找时间戳高于上次同步操作的元素,获取所有已更新的密钥(包括已删除的密钥,除非您想为这些密钥专门保留第二个ZSET),然后只需按键检索所有元素并同步到mysql.
希望它对你有用!