附件已经更新了最新的src,test项目和lib 还是一样前面有提供下载。 group 功能和批量save。 update之类的再补上。
group相当于一个索引。一个表只能有一个group 设为group的字段必须是唯一的。
例如 以User为核心,与User一对多的表都把uid 设置为group: @Group(isGroup=true)
这样能大幅减少维护缓存的开销。
-------------------
freyja 将引入另外一项能大幅提高服务器性能功能,与group不同。group相当于针对freyja的一种处理。
下面这个功能大家一定都在想办法提升性能的时候想到过,在此freyja可以通过配置再不用改动服务器逻辑的情况下实现:
就叫:Delay 。 @Delay注解
被annotation注解的字段在update的时候将不会保存到数据库(什么都不做),然后在缓存过期的时候才会update一次,另外提供一个方法主动update,这样在一些地方可以从数据库中读取正确值。
问题1:哪些字段不能够被标记为Delay。
答: 出现在查询条件中的字段不能被Delay。freyja的缓存目前只覆盖到了单表查询,联表查询是没有使用缓存的。所以年表查询的结果是从数据库中取得,而单表查询全部取自于缓存。上面说的提供主动update就是为了在有些情况下主动同步一次数据以达到数据一致。查询条件关系则查询结果,而查询结果取自于数据库。
问题2:断电了怎么办?
答: 一切随缘吧。
*******
在一般的游戏项目中,经常可以看见人们把一些东西存进内存中然后过一段时间同步到数据库。freyja就是这么做的,只不过更加的简单。只需要指定哪些字段不需要即时同步的。
当然,在你设置Delay之前,你要好好的看看你的系统里面到底哪些地方用到了这个字段。
Delay带来了哪些提升?这些字段每update一次,他的作用就提高1点。注意:单表查询!
突然感觉到,自己的游戏项目中没有多少地方用到联表查询。难怪我会认为开发freyja很有必要性
分享到:
相关推荐
NULL 博文链接:https://freyja.iteye.com/blog/1315666
NULL 博文链接:https://freyja.iteye.com/blog/1278881
NULL 博文链接:https://freyja.iteye.com/blog/1274222
NULL 博文链接:https://freyja.iteye.com/blog/1403140
NULL 博文链接:https://freyja.iteye.com/blog/1542821
您提供一个接受组件props和应用程序theme的函数,并返回样式图( (theme, props, helpers) => ({key1: style, key2: style}) ), useStyles将返回类名的地图(像{key1: className, key2: className} )。...
NULL 博文链接:https://freyja.iteye.com/blog/1783056
NULL 博文链接:https://freyja.iteye.com/blog/1782960
弗雷雅 用于Freyja字幕OCR提取器的Node.js +电子用户界面。 仍处于测试阶段。 所有功能都可用,但您在使用该应用程序时可能会遇到错误/崩溃。 请在 github 问题上报告您在log.log文件中遇到的任何错误。系统要求需要...
freyja是一个轻量级的blog系统,使用vue-ssr,首屏在服务端渲染,之后的所有请求都由浏览器自行路由。 文章页只有文章内容在服务端渲染,评论是浏览器ajax加载的。 配合http2多路复用,首屏渲染完成时间可以控制在...
matlab有些代码不运行Freyja仿真器 在MATLAB / Simulink(TM)和SimScape(TM)框架内构建的,适用于多直升机系统的高保真物理模拟器。 Freyja的库元素允许对连接多轴直升机和各种其他对象(例如电缆)的运动树进行...
NULL 博文链接:https://freyja.iteye.com/blog/1167392
NULL 博文链接:https://freyja.iteye.com/blog/2196108
NULL 博文链接:https://freyja.iteye.com/blog/1982568