我将使用redis缓存,其中键是clojure映射(通过nippy序列化为字节)。
我可以将clojure映射的哈希值用作Redis缓存中的键吗?
换句话说,clojure映射哈希是否依赖于[[only依赖于数据结构值,并且不依赖于任何内存分配。
调查:我浏览了代码,发现由Clojure数据结构实现的IHashEq
接口。结果,IHashEq
impl以具有以下协定的Object.hashCode
的调用结束:
无论何时在同一对象上多次调用它,Java应用程序的执行,{@code hashCode}
方法如果没有信息,则必须一致地返回相同的整数在{@code equals}
比较中使用的对象上被修改。一次执行一次时,此整数不必保持一致应用程序再次执行同一应用程序。
嗯,只想澄清一下,我
不能
在其他进程中使用哈希作为持久化的ID,因为: