Redis 锁是一种使用频率很高的分布式锁,其实现依靠Redis的原子性的命令,可以帮助我们解决并发问题,在以下场景使用到 Redis 锁能够获得更好的效果:
(1)资源竞争场景。在系统中,比如有较多的客户端进行操作,操作的资源是共享的,就很可能出现资源不足、高并发的情况,此时可以使用Redis锁来解决资源竞争问题。如果有线程A和线程B同时在操作同一份资源时,线程A获得了一个Redis锁,其他线程将不能对该资源进行读写操作,这样就可以保证资源的完整性。
(2)定时任务场景。计划任务是每个应用都会面临的,例如,每天凌晨三点定时去清除一些过期的数据,如果同时有多台机器调度定时任务,可以考虑使用Redis锁来避免重复执行。
以下是一个示例代码:
String taskName = "TaskName";String lockValue = UUID.randomUUID().toString();//给定key,有效时间60秒boolean lockFlag = RedisDistributedLockTemplate.tryLock(taskName, lockValue, 60);//如果获取锁成功,开始执行业务if (lockFlag) {// 业务代码RedisDistributedLockTemplate.unLock(taskName, lockValue);}
Redis 锁在资源竞争场景和定时任务场景中都可以起到很好的作用,它可以保证线程操作的原子性,保证数据的完整性,better before worse.
香港服务器首选树叶云,2H2G首月10元开通。树叶云(www.IDC.Net)提供简单好用,价格厚道的香港/美国云 服务器 和独立服务器。IDC+ISP+ICP资质。ARIN和APNIC会员。成熟技术团队15年行业经验。
memcached和redis的区别
medis与Memcached的区别传统MySQL+ Memcached架构遇到的问题 实际MySQL是适合进行海量数据存储的,通过Memcached将热点数据加载到cache,加速访问,很多公司都曾经使用过这样的架构,但随着业务数据量的不断增加,和访问量的持续增长,我们遇到了很多问题: 需要不断进行拆库拆表,Memcached也需不断跟着扩容,扩容和维护工作占据大量开发时间。 与MySQL数据库数据一致性问题。 数据命中率低或down机,大量访问直接穿透到DB,MySQL无法支撑。 4.跨机房cache同步问题。 众多NoSQL百花齐放,如何选择 最近几年,业界不断涌现出很多各种各样的NoSQL产品,那么如何才能正确地使用好这些产品,最大化地发挥其长处,是我们需要深入研究和思考的问题,实际归根结底最重要的是了解这些产品的定位,并且了解到每款产品的tradeoffs,在实际应用中做到扬长避短,总体上这些NoSQL主要用于解决以下几种问题 1.少量数据存储,高速读写访问。 此类产品通过数据全部in-momery 的方式来保证高速访问,同时提供数据落地的功能,实际这正是Redis最主要的适用场景。 2.海量数据存储,分布式系统支持,数据一致性保证,方便的集群节点添加/删除。 3.这方面最具代表性的是dynamo和bigtable 2篇论文所阐述的思路。 前者是一个完全无中心的设计,节点之间通过gossip方式传递集群信息,数据保证最终一致性,后者是一个中心化的方案设计,通过类似一个分布式锁服务来保证强一致性,数据写入先写内存和redo log,然后定期compat归并到磁盘上,将随机写优化为顺序写,提高写入性能。 free,auto-sharding等。 比如目前常见的一些文档数据库都是支持schema-free的,直接存储json格式数据,并且支持auto-sharding等功能,比如mongodb。 面对这些不同类型的NoSQL产品,我们需要根据我们的业务场景选择最合适的产品。 Redis适用场景,如何正确的使用 前面已经分析过,Redis最适合所有数据in-momory的场景,虽然Redis也提供持久化功能,但实际更多的是一个disk-backed的功能,跟传统意义上的持久化有比较大的差别,那么可能大家就会有疑问,似乎Redis更像一个加强版的Memcached,那么何时使用Memcached,何时使用Redis呢?如果简单地比较Redis与Memcached的区别,大多数都会得到以下观点: 1Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,zset,hash等数据结构的存储。 2Redis支持数据的备份,即master-slave模式的数据备份。 3Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 抛开这些,可以深入到Redis内部构造去观察更加本质的区别,理解Redis的设计。 在Redis中,并不是所有的数据都一直存储在内存中的。 这是和Memcached相比一个最大的区别。 Redis只会缓存所有的 key的信息,如果Redis发现内存的使用量超过了某一个阀值,将触发swap的操作,Redis根据“swappability = age*log(size_in_memory)”计 算出哪些key对应的value需要swap到磁盘。 然后再将这些key对应的value持久化到磁盘中,同时在内存中清除。 这种特性使得Redis可以 保持超过其机器本身内存大小的数据。 当然,机器本身的内存必须要能够保持所有的key,毕竟这些数据是不会进行swap操作的。 同时由于Redis将内存 中的数据swap到磁盘中的时候,提供服务的主线程和进行swap操作的子线程会共享这部分内存,所以如果更新需要swap的数据,Redis将阻塞这个 操作,直到子线程完成swap操作后才可以进行修改。 使用Redis特有内存模型前后的情况对比: VM off: 300k keys, 4096 bytes values: 1.3G used VM on:300k keys, 4096 bytes values: 73M used VM off: 1 million keys, 256 bytes values: 430.12M used VM on:1 million keys, 256 bytes values: 160.09M used VM on:1 million keys, values as large as you want, still: 160.09M used当 从Redis中读取数据的时候,如果读取的key对应的value不在内存中,那么Redis就需要从swap文件中加载相应数据,然后再返回给请求方。 这里就存在一个I/O线程池的问题。 在默认的情况下,Redis会出现阻塞,即完成所有的swap文件加载后才会相应。 这种策略在客户端的数量较小,进行 批量操作的时候比较合适。 但是如果将Redis应用在一个大型的网站应用程序中,这显然是无法满足大并发的情况的。 所以Redis运行我们设置I/O线程 池的大小,对需要从swap文件中加载相应数据的读取请求进行并发操作,减少阻塞的时间。 如果希望在海量数据的环境中使用好Redis,我相信理解Redis的内存设计和阻塞的情况是不可缺少的。

支付宝密码忘记了怎么办手机号换了
联系客服,提交支付宝实名认证或登记的证件照片,通过后修改手机号。 然后找回密码。 手机操作:手机登陆支付宝钱包,点“忘记登陆密码?”,填写你的支付宝账户名称、验证码,然后点确定。 系统会根据你账户绑定的信息情况,给你提供找回密码的方法:“手机找回密码”适用于手机绑定的账户,点击“用手机号码找回”里的“立即找回”,点“点此免费获取”,输入手机收到的校验码,点“下一步”。 没收到短信请点“重发短信校验码”。 验证成功之后,设置新的密码,确定,成功后重新登录即可。 如果以上方法不行,请用电脑操作:电脑登陆支付宝帐户,点击进入“帐户设置”,再点击进入支付密码下的“找回支付密码”或是“修改支付密码”,然后选择修改或找回方式,一般有三种方式:1、通过自己设置的密保问题找回,条件是你设置过,而且记得答案,错五次就不能用;2、用手机号接收验证码+输入银行卡号和身份证号找回,绑定手机得能用;3、上传身份证件照片找回。 如果以上三种都无法找回,那就联系客服也没用,你的支付宝只能长眠了。
手机游戏仙剑奇侠传镜花水月攻略
游戏一开始,我们的主角“林夕”正在睡梦中“拯救苍生”,结果被李大娘从床上抓起来,一顿痛扁(好熟悉的场景)。 果不其然,这就是仙剑一的客栈,而且李大娘依然是威风不减当年,一顿教导之后,林夕只好不情愿的起床干活(你逍遥哥当年比你还惨,哈哈)。 记得拿柜子上的隐藏物品,和当年的电脑游戏一样,没有提示,只能自己寻找。 走下楼后,李大娘告诉林夕说今天“李逍遥”要回来,并让其去招呼客人。 从客人口中得知渝州“景天”的故居闹鬼。 点好菜后,得知桂花酒没有了,李大娘让林夕去药店买点桂花蜜,来做假桂花酒(汗…)。 出门从“余杭东”到药店,老板说现在桂花蜜还没到货,希望林夕能去野外的“百花径”搞点回来。 出城到“余杭西郊”发现有个美女被妖怪打倒在地,我们的林夕自然是“英雄救美”了。 轻松取胜后,得到桂花蜜。 林夕发现对方是个绝世美女,就异常热情的邀请对方去余杭,甚至抬出了李逍遥的名号。 对方果然是李逍遥的Fans,于是林夕小计谋得逞,两人结伴回余杭。 回到余杭药店完成任务后,佟掌柜会奖励你“锋灵刃”的配方(最好仔细听下如何合成物品),最后得知李逍遥出了事。 林夕赶回客栈后,发现李逍遥昏迷,大夫也束手无策。 大家正一筹莫展的时候,和林夕一起回来的镜花用法术救醒了李逍遥。 李逍遥清醒后,预感六界出了危机,这时镜花妹妹的影像出现在大家面前,告知妖界出了问题。 于是李逍遥,林夕和镜花三人决定一同去昆仑山。 出城后依然从“余杭西郊”出发,本以为有了李大侠可以轻松升级,结果他根本不出手,依然是小辈们出力,强烈鄙视。 走到一个路口,趁着李逍遥离开去探路的机会,林夕和镜花有一段感情戏,可怜的李大灯泡回来后,大家继续向“右”前进。 记得存档哦。 穿过一段阴森恐怖的山洞后,来到昆仑山下。 山脚有个商人,要换装备的赶快哦,前面会有一场恶仗。 和电脑版一样,地上的花也是可以采的,如果不想花钱买药,那走路的时候多看看脚下。 没多久就会碰到《仙剑4》的主角,云天河和柳梦璃。 时空开始混乱,林夕记得云天河为救苍生,用神弓射落了琼华派。 可是云天河却不记得,原来2人穿越了600年,来到现在。 一番对话之后,得知玄宵竟然在昆仑山顶,于是众人决定一同上山。 左边有药品商人,前面有保存点,下面会很难。 山顶上,横尸遍野,看到了走火入魔的玄宵。 云天河,李逍遥等人苦苦相劝,可惜玄宵心魔深重,最终拔剑相向。 虽然玄宵说,你们一起上。 可战斗的依然只有2个小辈(泪奔~那可是玄宵啊…)。 一番苦战之后,玄宵终于倒下了(玄宵一直是个悲情人物,胜利后,看到玄宵的诗句,心中一阵苦楚)。 最后镜花终于要回妖界了,林夕虽然不舍,可却觉得自己配不上镜花,不敢表白。 李逍遥觉得玄宵虽然失败,可事情不会这么简单,决定继续寻找线索,并让林夕去杭州寻找“王小虎”“李忆如”相助,并且叮嘱林夕去余杭时,要帮自己跟李大娘说说好话,免得回去又会被暴打(童年的阴影啊)。 李逍遥走后,云天河问道自己射完琼华派之后的事情,林夕不忍让他知道悲惨结局,只好编出谎话欺骗。 柳梦璃回来后,众人决定先回余杭。 没走几步,镜花竟然出现,并要一起同行,林夕自然心中美得冒泡。 原来柳梦璃不忍镜花重走自己的感情道路,直言相劝(云天河是猪头~~)。 回到余杭逍遥客栈后,众人都去休息。 李大娘自然看出林夕和镜花之间的暧昧,掏出“祖传玉镯”给林夕,帮两人创造机会。 可悲的虽然有林夕的掩饰,可依然无法改变李大娘要教训李大侠的决心(默哀~)。 林夕主动提出要带镜花逛逛余杭城,一段感情戏之后,两人的感情更进一步。 回到客栈后,云天河正在大块朵颐,吃的李大娘一阵心痛,饭后大家就被赶了出来。 (囧~)众人于是向渝州城进发,此时将装备和药品准备好,客栈会有存档点。 来到渝州城的当铺发现《仙剑3》的景天和雪见大战邪剑仙,众人自然出手相助。 一番恶战之后,镜花为林夕挡了邪剑仙最后一击,而香消云散。 林夕悲痛欲绝,终于说出自己对镜花的感情,并将“祖传玉镯”戴到镜花的手腕上。 这时雪见提出可以救活镜花的方法,那去鬼界找回镜花的灵魂,但需要先找到“水灵珠”保住镜花的尸体。 林夕根据景天的提议,决定先向渝州北郊的“北海”寻找“水灵珠”。 现在是你一个人在战斗,所以要多存档,多准备药品。 最后守护水灵珠的是一个水龙难度不大,用雷系魔法就好。 得到水灵珠后,众人赶回客栈,冰封了镜花的尸体。 继续马不停蹄的前往“丰都”去寻找鬼界入口。 到了丰都,在客栈碰到了镜花的妹妹“水月”,经过一番争吵之后,为了姐姐的复活,水月还是加入了林夕的队伍(水月的等级是根据林夕的等级而来的,所以最好将林夕的等级练高些)。 从店小二的口中得知,中间客房的客人有问题。 果然,这就是鬼界的接引人,到鬼界后,在奈何桥会和孟婆大战一场。 过了奈何桥在鬼门关碰到了鬼王,自然又是一场恶战。 打败鬼王夺回镜花的魂魄后,众人赶回渝州客栈后,终于救活了镜花。 可水月却嫉恨邪剑仙打伤姐姐,独自去蜀山报仇。 一番商议后,柳梦璃等留下来照顾镜花,林夕等人去蜀山找回水月。 在渝州南郊林夕追上水月,大家一起去蜀山找邪剑仙。 蜀山脚下碰到《仙剑3外传-问情篇》的南宫煌和温慧,得知蜀山地脉异变,众人觉得应该和邪剑仙有关,于是共同前去查看。 进入地脉后,会发现有三个入口,走中间的一个。 存好档后,大战火龙。 解决了地脉的异变后,众人继续向蜀山赶去。 来到蜀山后,发现妖物横行,途中还有炎兽王挡路。 来到山顶后,见到了蜀山掌门徐长卿,众人怀疑是邪剑仙进入锁妖塔导致这一切。 于是林夕等人,决心去锁妖塔一探究竟。 锁妖塔中,碰到了《仙剑2》中的王小虎和李忆如,得知邪剑仙真的在锁妖塔中,并用幻术骗走了李逍遥和赵灵儿。 4仙剑最经典的迷宫模式终于出现了,其实并不是很难,只要记好就可以轻松过了,多准备点“驱魔香”要不会很费时间和精力。 最后终于在塔顶见到了“邪剑仙”,原来时空混乱都是五华山一个“神秘人”搞的鬼。 不管怎么说镜花的仇是肯定要报的,开打吧。 此战非常之难,建议40级以后再去,当然你要是装备和药品充足,那自然没问题。 出了锁妖塔,众人和徐长卿告别后,南宫煌和温慧加入,队伍向五华山前进。 在渝州西郊的林荫湖,碰到了云天河等人,原来有人找到了上古神器-昆仑镜,昆仑镜具有穿梭时光的能力。 所有的线索都指向了五华山的神秘人。 穿过桃花密林,终于来到了五华山顶。 山顶上,众人看到被李逍遥和赵灵儿拦住的神秘人“重楼”。 原来当年紫萱为了天下苍生用身体去修补锁妖塔,而重楼却悔恨自己无法阻止。 为了挽救紫萱复活,找到了上古神器-女娲石,可是发动女娲石的五灵珠却不知去向。 于是便用昆仑镜将与五灵珠有关的所有重要人物都转换了回来,希望能夺回五灵珠。 众人虽然同情重楼,可是时空错乱会导致六界平衡,后果不堪设想,只得进行最后一战。 重楼的实力自然不必多说,最后的boss,把所有的好东西都用掉吧。 重楼失败后,大家依依惜别,云天河,景天等人也各自回到了自己的时空。 正当大家认为圆满结局的时候,林夕却突然昏倒。 黑暗中,林夕听到了水月对自己的表白和镜花准备成全自己和妹妹的决心。 最终林夕将何去何从,他和镜花的感情会有结局吗,游戏却戛然而止。 也许真的像姐妹两人的名字,镜花水月,好梦难留。 我们只好期待下部作品给我们答案。
发表评论