在集群环境下,当多个realserver同时使用一个memcache时,同时操作某一个key,会存在同步的问题吗?
如我需要在memcache中保存license信息,不管是哪个realserver的登录,都要增加license占用值,如果用memcache有没有多个real server同步的问题。
嘎,呵呵,其实你这个完全可以放到数据库里的,因为你的存取并不频繁。
而且为了安全起见,数据库会更安全,玩意memcache机器重启了,你这个根本没办法判断的。
嗯,memcache,多个同时操作,取值肯定没问题,但是都要扔进去东西就麻烦了,肯定要出问题。
要不你考虑下扔个xml文件进去,写一些标示,这样会好些。
不太知道你这个同步写是什么概念,synchronization这个可以实现同步。
没仔细看api,但是你想把它想成数据库那么智能,那么NB的锁,我估计够呛。
从你的问题上,我理解是license信息,需要多个服务器去读取,做认证?
扔个xml文件,里面除了写license以外,还可以扔时间啊,什么什么的,读取的时候校验一下就行了。
memory cache我们多用来做读取操作,先把数据生成好,扔到MC里面,然后就读吧。
嘎,3种方法;
1、最简单的,登陆一次,value+1,license作为key;自己实现线程同步。
2、server和MC之间做个中间的玩意,简单地说可以做个封装,server在访问MC之前都要过一次这个封装再出去。
3、如果你需要外部的同步,那就留个接口。
哈,第3个好像是个附属功能哈,看看行么这样。