2014-04-22 veryyoung
MyISAM 是MySQL中默认的存储引擎,一般来说不是有太多人关心这个东西。决定使用什么样的存储引擎是一个很tricky的事情,但是还是值我们去研究一下,这里的文章只考虑 MyISAM 和InnoDB这两个,因为这两个是最常见的。 下面先让我们回答一些问题: 你的数据库有外键吗? 你需要事务支持吗? 你需要全文索引吗? 你经常使用什么样的查询模式? 你的数据有多大? 思考上面这些问题可以让你找到合适的方向,但那并不是绝对的。如果你需要事务处理或是外键,那么InnoDB 可能是比较好的方式。如果你需要全文索引,那么通常来说 MyISAM是好的选择,因为这是系统内建的,然而,我们其实并不会经常地去测试两百万行记录。所以,就算是慢 继续阅读 »
2016-01-29 demon7452
Redis学习总结 简介 起源:随着Web 2.0的蓬勃发展,网站数据快速增长,对高性能读写的需求越来越多,再加上网站上半结构化的数据比重越来越大。Redis由此应运而生。 定义:Redis是Remote Dictionary Server(远程字典服务)的缩写,它以字典结构存储数据,并允许其他应用通过TCP协议读写字典中的内容。 继续阅读 »
2015-07-26 刘太华
玩家数据的loader优化 由于历史原因, 最早的时候玩家数据是在2个独立的服务进程中都存在, 游戏场景服务A, 和游戏数据逻辑服务B, A中的数据来自于B, A服务会根据某些逻辑, 触发数据回存, 将数据回存到B, 达到数据一致性要求, 但是随着游戏过程中, 会积累资源比如金币之类的, 这个积累的数据暂时只会存在场景服务A中,后面的运营过程中证明, 这种数据分两份的做法, 是个非常大的坑, 有很多理论上的机会导致数据不一致, 丢数据的问题。 继续阅读 »
2015-01-15 Robin Wen
目录 Table of Contents {:toc} 文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 一 引子 在生产环境中,删除一个大文件,比如一个数十 G 或者上百 G 的文件是很耗时的。 本文介绍一个快速 DROP TABLE 的方法。使用本文提供的方法,不管该表数据量、占用空间有多大,都可以快速的删除。 二 演示 下面做一个演示。 2.1 环境 首先说明环境: 环境 bash mys 继续阅读 »
2016-08-12 ruki
tbox对于数据文件的解析提供了完善的支持,可以对各种二进制数据,文件数据流,网络数据流等进行各种解析操作 并且提供了一整套字节解析、比特位解析的接口,来支持各种流模式: stream 通用数据流,提供对流式数据的读写和解析,支持多层流嵌套以及各种协议(http, socket, file, data ...) 对于如何使用stream,这里暂时不详细介绍了,之后会单独重点介绍下,这里主要是为了描述,如何使用stream来处理字节数据的解析 例如,我要从数据流中,读取一个大端的16bits数值,很简单,只要: c tb_uint16_t value; if (tb_stream_bread_u16_be(stream, 继续阅读 »
2016-04-23 Robin Wen
文/Robin 本站推广 币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。 币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872 邀请码: 11190872 0x00 文章目录 Table of Contents {:toc} 0x01 背景介绍 某项目研发 A 删除压测环境大表,等待时间较长,于是直接将 MySQL 数据目录中对应数据库文件删除。于此同时,误删 ibdata 和 MySQL 配置文件。此时 MySQL 已经崩溃,研发从其他机器拷贝误删的数据文件以及配置文件,重启 MySQL,出现 Unknown/ 继续阅读 »
2018-05-24 Piasy
分析完应用上层的视频采集、渲染、编码之后,原本我是打算把完整的 WebRTC 带到 Flutter 的世界里,形成 FlutterRTC 的,但后来仔细想想,这件事没多大意思,做出来了也不能产生多大价值,所以我决定调头深入底层。 本篇算是真正深入底层的第一篇,让我们深究一下之前没有深究的话题:视频数据 native 层之旅,以及 WebRTC 对视频数据的处理。最近对 iOS 上层的分析也不算白费,毕竟在 iOS 平台深入底层,无论是编译还是调试都更方便。 继续阅读 »
2016-08-28 craneyuan
定义 选择排序(英语:Selection sort)是一种简单直观的排序算法。它首先在未排序的序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 more 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的表进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。 算法步骤 选择排序算法的运作如下: 首先在未排序序列中找到最小(大)元素,存放到排序 继续阅读 »
2014-08-08 veryyoung
GFW最近好猖狂,不翻墙完全没法用了! GoAgent抽风厉害,而且速度太不理想。 Baidu搜索结果充斥着广告和垃圾,完全不能看!!! Google了一番,收集下Google的代替方案,有钱买vpn的土豪和能忍受baidu的忽略。 1.http://www.aol.com/ 美国在线,集成了Google搜索引擎,大赞! 2.https://duckduckgo.com/ DuckDuckGo 是一个新兴的搜索引擎,承诺绝不收集用户的任何数据。界面简洁大方,搜索结果也比较理想,但中文搜索太寒酸.. 短域名:http://dgg.gg 3.https://startpage.com/ 中文搜索结果比鸭子好,据说用了Google 继续阅读 »
2014-01-13 W.Y.
算法原理 选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理如下,首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。以此类推,直到所有元素均排序完毕。 选择排序的主要优点与数据移动有关。如果某个元素位于正确的最终位置上,则它不会被移动。选择排序每次交换一对元素,它们当中至少有一个将被移到其最终位置上,因此对n个元素的序列进行排序总共进行至多n-1次交换。在所有的完全依靠交换去移动元素的排序方法中,选择排序属于非常好的一种。 more 实例分析 以数组 arr = [8, 5, 2, 6, 9, 3, 1, 继续阅读 »