当前位置: 首页 > news >正文

网页设计与制作课程标准化项目申报书seo短视频网页入口引流下载

网页设计与制作课程标准化项目申报书,seo短视频网页入口引流下载,wordpress wpdx教程,网站开发需要投入多少时间需求背景 一个服务缓存玩家信息到对象里#xff0c;通过对象的函数定时同步到数据库中#xff0c;如果玩家掉线 清空对象#xff0c;但是后续步骤导致对象数据需要变更#xff0c;对象不存在#xff0c; 就不方便变更了#xff0c;怎么处理#xff1f; 方案思考 1.临…需求背景 一个服务缓存玩家信息到对象里通过对象的函数定时同步到数据库中如果玩家掉线 清空对象但是后续步骤导致对象数据需要变更对象不存在 就不方便变更了怎么处理 方案思考 1.临时新建对象 既然更新数据依赖对象判断对象不存在的时候先新建对象再使用对象操作。 2.延后处理 判断对象不存在的时候先记录函数名和参数等对象下次出现的时候延后调用。 方案选择 因为项目中使用的对象涉及到网络玩家掉线情况下参数不全无法新建对象所以选延后处理的方案比较合适。 具体代码 demo 先看一个demo local myFunction2 function(arg1, arg2, arg3)print(arg1, arg2, arg3) endlocal myFunction function(arg1, arg2, arg3)local t {arg1, arg2, arg3}local args table.pack(arg1, arg2, arg3)myFunction2(table.unpack(args)) endmyFunction(hello, 42, {a 2, b 3})可以通过 table.pack将参数保存到table里要使用的时候再table.unpack使用。序列化的话可以用cjson.encode 第一版 存 -- 导入 lua-cjson 库 local cjson require(cjson)-- 定义一个要序列化的函数 local myFunction function(arg1, arg2, arg3)print(arg1, arg2, arg3) end-- 定义函数的参数 local args {1, hello, {a 2, b 3}}-- 序列化函数和参数 local serializedData cjson.encode({func myFunction, args args})-- 打印序列化后的数据 print(serializedData)取 -- 导入 lua-cjson 库 local cjson require(cjson)-- 被序列化的数据 local serializedData {func:null,args:[1,hello,{a:2,b:3}]}-- 反序列化数据 local data cjson.decode(serializedData)-- 获取函数和参数 local myFunction data.func local args data.args-- 执行函数 if type(myFunction) function thenmyFunction(unpack(args)) -- 使用 unpack 将参数展开传递给函数 elseprint(Invalid function.) end 序列化之后可以存入redis我这里使用的是redis的list。 其他 实际使用过程中碰到一些问题比如 cjson.encode 的时候报错 Cannot serialise table: excessively sparse array原因是实际业务的args过于复杂。 这个错误通常发生在你尝试使用 cjson.encode 函数序列化一个 Lua 表时而这个表包含了“过于稀疏”的数组部分。所谓“过于稀疏”是指数组中存在很多 nil 元素而 cjson 在序列化时对这样的数组处理有一些限制。 查了一些解决方案最后使用的是 cjson.encode_sparse_array(true)使用上面方案之后unpack(args)又异常了。于是调整代码。 local serializedData cjson.encode({func myFunction, args {arg1, arg2, arg3})-- ... 此处省略中间过程local data cjson.decode(serializedData) if data.func and self[data.func] thenlocal args data.args or {}self[data.func](self, args[1], args[2], args[3], args[4], args[5], args[6], args[7])end end因为是通用方案所以参数支持到7位一般lua函数参数一般不会有这么多实在超了只能再加了。
http://www.dnsts.com.cn/news/257004.html

相关文章:

  • 网上购物最便宜的网站自己电脑做网站 外网无法访问
  • 网站放自己服务器备案政务网站群建设需求调研表
  • 购买网站源码注意事项新闻热点事件及评论
  • 网站建设wesnowsat微信官方网站登陆
  • hge网站做微端有没有做外贸的网站啊
  • 怎么下载网站的模板984网站建设项目
  • 丹东市网站开发公司网站开发代码归属
  • 程序员做的简单的网站wordpress 缩进
  • 广州手机网站定制信息网站开发工程师 招聘
  • h5网站还有哪些qq网页版在线登录
  • 浙江手机版建站系统哪个好锦州网站建设品牌
  • 电商网站服务器婚庆公司网站模板下载
  • 营销代码查询seo优化策略
  • 阿里云网站申请用途工作室网站需要备案吗
  • 做的网站百度找不到了站群管理系统cms
  • 遵义企业做网站wordpress转发微信
  • 国外免费源码共享网站百度一下网页搜索
  • 做水果的有什么网站装修设计公司网站
  • 企业网站的制作哪家好网站制作技术支持
  • 新闻类网站怎么做百度推广东莞网站seo推广
  • wordpress域名改了苏州seo排名优化费用
  • 河北辛集市城乡建设管理局网站wordpress调试模式
  • 天津网页模板建站广州艾迪网站建设
  • 网站建设百灵鸟优化龙华新区做网站
  • 制作图片用什么软件windows优化大师会员
  • 做ppt常用网站如何设计一个网页界面
  • 惠州seo整站优化网页制作的工具有哪些
  • 个体户营业执照可以网站备案俄语网站
  • 关于《大学物理》网站资源建设的思路hi宝贝网站建设那家好
  • 网站国际化怎么做给网站做引流多少钱