- 博客(14)
- 资源 (7)
- 收藏
- 关注
原创 mongoDB的c++接口的说明
说明: * IN表示输入参数; * OUT表示输出参数;(1)构造函数:DBClientConnection(bool auto_connect, 0, double so_timeout);auto_connect(IN):连接失败后自动重连so_timeout(IN):非连接超时,tcp的读写超时(2)连接mongo:bool connect(string
2013-05-28 11:45:28 3777
原创 NoSQL数据库的基础知识
什么是NoSQL大家有没有听说过“NoSQL”呢?近年,这个词极受关注。看到“NoSQL”这个词,大家可能会误以为是“No!SQL”的缩写,并深感愤怒:“SQL怎么会没有必要了呢?”但实际上,它是“Not Only SQL”的缩写。它的意义是:适用关系型数据库的时候就使用关系型数据库,不适用的时候也没有必要非使用关系型数据库不可,可以考虑使用更加合适的数据存储。 为弥补关系型数据库
2013-05-28 11:09:01 1912
原创 Mongodb安装与开发的配置 Windows xp平台
Mongodb 是一种NoSql 数据库,希望能够给刚接触Mongodb的一些帮助,能少走弯路,起到抛砖引玉的作用。 1.安装环境说明:windows xp sp3,Mongodb 1.8 2.Mongodb 的安装,这里是以Mongodb1.8为例子。 a) 从Mongodb 网站下载 Mongodb1.8 。地址:http://downl
2013-05-28 10:39:11 2263
原创 MongoDB C++开发环境搭建linux平台
初次接触MongoDB C++开发,发现官方单独提供的C++ Driver源码包似乎有些问题,经一番折腾后方才顺利的能跑,故在此记下第一篇。 我使用的开发环境Slackware 13.37 x86,既然官方单独提供的C++ Driver有些问题那就全部MongoDB源码构建出.a库吧,首先从(http://downloads.mongodb.org/src/mongodb-src-r1.8.
2013-05-28 10:19:30 2122
原创 数据库的读写分离
随着一个网站的业务不断扩展,数据不断增加,数据库的压力也会越来越大,对数据库或者SQL的基本优化可能达不到最终的效果,我们可以采用读写分离的策略来改变现状。读写分离现在被大量应用于很多大型网站,这个技术也不足为奇了。ebay就做得非常好。ebay用的是oracle,听说是用Quest Share Plex 来实现主从复制数据。 读写分离简单的说是把对数据库读和写的操作分开对应不同的
2013-05-28 02:06:23 2277
原创 C,C++代码中调用python脚本
今天在开例会的时候,提到其他小组要做一个通用任务系统,会涉及到C++调用其他语言脚本开发的逻辑。之前倒是听互娱那边的同事说过,他们都是嵌入lua来进行脚本编程,但自己从来没试过。而作为一个严重中毒的vim+python爱好者,其实我每天都在用vim直接执行python命令(如出名的pyflakes插件),想知道vim是怎么实现的,所以就自己试了一下。由于家里没有linux开发环境,所以就在
2013-05-26 22:32:19 2142
原创 如何在C++中集成Lua脚本(LuaPlus篇)
去年我作了一个Lua脚本的C++包装,有许多朋友感兴趣,并尝试使用,我感到受宠若惊。事实上,我作的包装,学习的目的比较强,它还是有许多缺陷的。为了让朋友们少走弯路,我推荐使用LuaPlus作为C++的包装。LuaPlus是Lua的C++增强,也就是说,LuaPlus本身就是在Lua的源码上进行增强得来的。用它与C++进行合作,是比较好的一个选择。LuaPlus目前版本为:LuaPlus
2013-05-26 22:24:49 2294
原创 对象序列化类库MsgPack介绍
MessagePack(以下简称MsgPack)一个基于二进制高效的对象序列化类库,可用于跨语言通信。它可以像JSON那样,在许多种语言之间交换结构对象;但是它比JSON更快速也更轻巧。支持Python、Ruby、Java、C/C++等众多语言。比Google Protocol Buffers还要快4倍。代码:> require ‘msgpack’> msg = [1,2,3]
2013-05-25 00:16:06 4979 1
原创 IOCP浅析
这一年半来一直在做游戏项目逻辑层,学会了不少东西,觉得自己应该看看服务器底层的东西了,主要的东西就是网络模块,网络模块是沿用以前项目的,在 我们项目中被我们头改动过几次,现在还是比较稳定的。因为是Windows平台,所以用的依然是被大多数人神话了的IOCP,不过的确IOCP 表现的非常不错。什么是IOCP?众所周知,为了绝对同步,所以很多模式都采用的是同步模式,而不是异步,这样就会
2013-05-24 18:16:41 1603
原创 IOCP模型与Epoll模型的比较
一:IOCP和Epoll之间的异同。异:1:IOCP是WINDOWS系统下使用。Epoll是Linux系统下使用。2:IOCP是IO操作完毕之后,通过Get函数获得一个完成的事件通知。Epoll是当你希望进行一个IO操作时,向Epoll查询是否可读或者可写,若处于可读或可写状态后,Epoll会通过epoll_wait进行通知。3:IOCP封装了异步的消息事件的通知机
2013-05-24 18:01:52 2025
原创 sql 存储过程命名规范
sql语句关键字全部用小写,表名以t_开头(table),列以f_开头(field),全部用小写+下划线形式命名。规范的命名可以提高开发和维护的效率,如果你正在创建一个新的存储过程,请参考如下的命名规范。句法:存储过程的命名有这个的语法:[proc_] [MainTableName_] By [FieldName(optional)] [_Action]
2013-05-24 11:20:04 2008
原创 如何加快sql执行速度?
1、升级硬件 2、根据查询条件,建立索引,优化索引、优化访问方式,限制结果集的数据量。3、扩大服务器的内存4、增加服务器CPU个数5、对于大的数据库不要设置数据库自动增长,它会降低服务器的性能6、在查询Select语句中用Where字句限制返回的行数,避免表扫描,如果返回不必要的数据,浪费了服务器的I/O资源,加重了网络的负担降低性能。如果表很大,在表扫描的期间将表锁住
2013-05-23 14:12:05 8603
原创 通信协议
在传统的互联网应用中,通信协议通常被设计成文本方式,这是一个广泛而基础的网络信息交互,互联网本身是不局限于操作系统,编程语言,PC,终端,手机等具体平台和技术。所以协议的设计应足够通用。而在网络游戏中,为了简单和方便,通信协议通常是专用的,我们通常会具体到特定语言和平台来设计协议。回顾以前我参与的项目,在通讯协议的设计上也是一步一步的改进的,在最早期的协议设计,我们采用简单的二进制结构描述
2013-05-20 00:29:10 1764
原创 服务器如何提高并发量
从哲学上说,消除瓶颈是提高服务器性能和并发能力的唯一途径。如果你能够消除所有的瓶颈,你就能够最大的发挥硬件性能,让系统的性能和并发数到达最佳。采用多线程多核编程,使用事件驱动或异步消息机制,尽量减少阻塞和等待操作(如I/O阻塞、同步等待或计时/超时等)。原理:1、多线程多核编程,消除cpu瓶颈。2、采用IOCP或epoll,利用状态监测和通知方式,消除网络I/O阻塞瓶颈。3
2013-05-16 23:42:07 6412 1
数据结构实验课的全部源程序
2009-08-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人