永发信息网

jediscluster 在程序中需要调用close或quit吗

答案:2  悬赏:20  手机版
解决时间 2021-03-18 04:32
jediscluster 在程序中需要调用close或quit吗
最佳答案
jediscluster 在程序中需要调用close或quit
  打个jstack看,最底下醒目的deadlock。一看,jedis干的。然后看代码,发现维护集群meta信息的类里一堆synchronized方法和一堆非synchronized方法中间共用了一个读写锁,一个线程把WriteLock锁住后若干行会试图执行一个synchronized方法,另一个线程执行别的synchronized方法时会在某行试图获取ReadLock,然后就喜闻乐见的死锁了,这简直太……了。更……的是其实那个类里所有的synchronized都是多余的,而最新的代码里我发现他们已经把synchronized去掉了,理由是为了提升性能。于是开issue跟他们说了下旧的代码会死锁,建议他们尽快把最新代码发布新版,然后有人说虽然这是bug,但只要timeout别设成无穷,死锁的代码会自动超时释放的,可我们明明把timeout设的很短好不好……总之懒得理论这些事情了,改了bug之后死锁问题没了,但翻译被吓尿了,切回memcache,也因为事多人少,直到现在也没功夫重新换回redis……
  后来就没遇到过问题了。于是开始总结吧。
  首先先说前提:twemproxy作为老牌的redis集群方案,他确实在特定历史阶段实现了他的价值,但他肯定是不如现在的codis,具体codis哪好可以看很多文章介绍。
  然后是官方cluster的优点,其实真的只有一个,就是没有proxy转发之后极限性能好,但绝大多数场景真的不重要。非说第二个优点就是他是官方的,只要redis还在维护,redis cluster被弃坑的概率就比较低,项目会持续有人维护,而第三方的方案理论上确实开发者弃坑的概率会比redis官方要大。不过只要第三方的方案真正成熟到一定程度,就算弃坑不更新大家也还是可以用。就像redis如果截止2.8.x就不开发了,大家照样会用一样。
全部回答
aof缓存文件通过重写可以缩小的。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
邯郸哪有卖肠衣的
姚达商行这个地址在什么地方,我要处理点事
苹果的ip是否能更改
有没有那种把帽子憋在裤子上的夹子
304 321 309S不锈钢板的区别都是什么价格
奇丽家照明地址在什么地方,想过去办事
dnf里所有女性中 谁的胸最大
小说《三国演义》的男一号是谁?
清原满族自治县人民法院草市人民法庭这个地址
踏板车稍微加速会停顿甚至熄火,用力加油门会
梦到男友脖子有吻痕.
2008年产52度浓香型小糊涂神多少钱一瓶
海尔电视机刚开机屏幕小黑 过一会就亮了正常
鞍山天籁谷温泉怎么样?尤其是住宿条件,急急
11点40减8点41等于多少
推荐资讯
凯凯快餐(香店街办店)在什么地方啊,我要过去
梯形的下底是上底的3倍,把上底延长8厘米,组
中信信用卡不能分期嘛
茅山老子像手上的蜂窝代表一句成语
衣服胳膊上带两条杠的衣服
恒易融合法吗?是不是非法集资
梦见老宅子中有两对蛇
怎样才能在一个月里长高3厘米
爸爸不同意我和男朋友在一起、但是爸爸说只有
瓦房店市复州湾镇司法所地址有知道的么?有点
轮胎正面缝隙之间戳一铁块,缝隙底部的橡胶被
估算302乘以36约等于多少
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?