![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Lamp框架
文章平均质量分 80
go-sunny
这个作者很懒,什么都没留下…
展开
-
设计模式系列:策略模式在战斗结算中的运用
先给一个设计原则:多用组合,少用继承。这就话就是策略模式的精髓了。下面结合我们项目中的实际问题,详细说明策略模式的使用。1.1 战斗结算在游戏战斗模块中,战斗结果结算是一个很复杂的问题,在我们的项目中,对于不同的战斗类型有不同的结算方式,例如:1)玩家之间的战斗过程中,玩家的装备有几率的摔坏,如果战斗胜利,可以抢夺对方的道具,银币。如果胜利方触发了“战斗结算技能”,还有更多额外的奖励。原创 2013-10-19 15:12:23 · 1982 阅读 · 0 评论 -
memcache系列---缓存代理类的实现(二)
在项目中可能会使用到多种缓存技术,如memcache,redis,文件缓存等。如果能把这些缓存机制统一接口,对外开放,让使用者可以不用关心缓存的内部实现就可以随意调用这些缓存类。比如我要使用memcache把key=>value保存在static_zh这台memcache服务器上。我期望的实现方式是: F('Memcache')->static_zh->set('key', 'value');原创 2013-12-03 15:14:43 · 1854 阅读 · 0 评论 -
memcache系列--处理缓存的三种方案(三)
这篇文章主要讨论的问题是:如何为项目设计一个完整而简洁的缓存系统。在我们项目中,使用到了三种方法,来保证了缓存系统的有效简洁。只讲使用,不讲原理。1) 第一种,最常见的方式 读取数据的主要步骤如下:1)先从缓存中获取数据(如果在缓存中获取到,则直接返回已获取的数据)2)如果获取不到,再从数据库里面读取相应的数据 3) 把获取到的数据加入缓存中注意:这种方式是在M原创 2013-10-21 22:49:02 · 2747 阅读 · 0 评论 -
充值系列——充值系统业务逻辑层实现(三)
x原创 2013-12-12 13:51:09 · 5913 阅读 · 2 评论 -
关于HTTP协议中的KeepAlive属性
首先就看一下KeepAlive出现的原因吧:当一个客户端向服务器发送http请求时,两者之间会建立一个tcp连接,然后服务器发回响应信息同时关闭连接。如果请求的的页面中含有别的资源连接,比如图片、flsah等,就会再次创建连接。KeepAlive的作用就是在第一次创建连接时,服务器会把这个tcp连接保持一段时间(服务器端会有一个keepaliveTime的最大时间,超过时间就断开连接)。这样就转载 2013-12-06 09:42:52 · 3530 阅读 · 0 评论 -
使用memcache和redis实现队列
队列的基本功能是:压入和弹出,先进先出。memcache的实现方式使用memcache实现队列,需要使用两个key来标记队列的状态:pushKey 记录压入队列的总数,popKey记录弹出队列的总数。压入数据:pushKey初始值为0,每压入队列一个数据的时候,pushKey自增1。弹出数据:popKey初始值为0,每从队列中弹出一个数据的时候,popKey自增1。同时删除队列原创 2014-01-02 14:06:34 · 4369 阅读 · 0 评论