我们有一个webapp,它使用memcache暂时存储对象。我们正在添加后台作业来清理缓存(不是基于memcache附带的基于时间的过期)。由于我们运行了多个webapp实例,因此我们希望确保只有一个实例在任何时候进行清理。所以我们决定在memcached中保留一个标志,只允许一个实例运行。现在问题。
我只是存储一个标志,它可能是一个int,String,boolean,heck ......甚至只是一个char。但是来自memcached的查询会返回对象,这些对象必须转换为我选择的任何类型。如果我选择boolean,那么对象必须被转换为lang.Boolean,这可能比String更有用。
你会选择哪种类型?
感谢。
答案 0 :(得分:6)
我会选择最准确地表示我想要存储的数据类型的类型。听起来这就是布尔值。
似乎高度不太可能,演员阵容的成本将成为这里的瓶颈。为什么你甚至对这一部分感到烦恼?您是否有任何测量/基准来表明它会产生有意义的差异?
答案 1 :(得分:1)
这种类型几乎无关紧要。您可能不会尝试将其编码为null / not-null。这样你就不必投了。
它可能相当于调用总时间的舍入错误,尤其是在查找缓存时。如果这是一个大问题,我希望减少它被调用的次数,而不是缩短执行时间。