JSON

从零开始搭建游戏服务器内存数据库Redis

字号+ 作者:H5之家 来源:H5之家 2017-03-22 16:00 我要评论( )

引言在服务器中,数据库是必不可少的部分,作为数据存取中心,有时候的系统的操作涉及到数据的快速读写,在这种情况下,我们通常不会中规中矩地直接读写像MySQL

引言
在服务器中,数据库是必不可少的部分,作为数据存取中心,有时候的系统的操作涉及到数据的快速读写,在这种情况下,我们通常不会中规中矩地直接读写像MySQL的持久性数据库的数据,因为像MySQL这一类关系型的数据库不管是查询或者是修改数据库的内容都需要通过冗长的检索过程,势必影响效率,所以我们通常会选择通过一个非关系型数据库(NoSQL)来在内存缓存数据并实现快速的数据读写操作,然后定时把内存中的的数据回写到MySQL数据库中。

一、NoSQL简介:
常见的NoSQL数据库有Hbase(基于列存储)、MongoDB(文档型数据库,采用类似于Json的Bson语法存储)和Redis(基于键值对存储)等,其中Redis是通过key-value这种键值对的形式来存储数据,如此在存取数据的时候检索数据会快很多,常用来满足高并发、大数据的系统。

二、Redis简介:
据Redis官方文档说明,Redis是一个开源的,内存中的数据结构存储系统,可用作数据库、缓存和消息中间件。
1.优点:
支持多种类型的数据结构,如: 字符串(strings), 散列(hashes), 列表(lists), 集合(sets), 有序集合(sorted sets)等;
数据库完全在内存中,具有不同级别的磁盘持久性;
数据可以复制到任意数量的从服务器,分片机制使得Redis支持将数据离散地存储在不同的物理机器上,以克服单台机器内存大小的限制。
2.应用场景:
数据库服务器:用来存储结构相对简单的的数据;
缓存系统:缓存需要大量读取、少量修改的数据;
构建实时消息系统:利用发布(Pub)/订阅(Sub)特性;
对队列的支持:基于列表(list)实现队列(queue)、堆栈(stack)。

三、Redis在Windows环境下的安装配置:
1.下载资源:
到Redis官网资源下载页面下载最新的稳定版本,但由于Redis官网并不支持Windows平台,所以想要在Windows平台下安装使用Redis,需要下载微软开源技术团队(Microsoft Open Tech group)开发和维护着这个 Win64的版本这是Redis的源码,但是假如我们只是为了使用Redis的功能的话,可以直接下载Release版本。
2.解压安装:
将下载到的安装压缩包解压,查看文件夹下的文件目录如下: 

其中一个文件redis.windows.conf是redis的配置文件,设置redis的一下配置信息。

3.启动服务端:
通过管理员权限启动cmd,定位到redis安装包解压后的根目录下,输入指令启动redis服务:
redis-server.exe redis.windows.conf
此指令的作用就是通过读取redis.windows.conf中的配置信息,根据配置信息来设置和启动服务器,当然这个配置文件也是可以自定义的,只要执行时修改启动指定的配置文件即可,可以通过设置将日志信息打印输出到日志文件中,具体的信息请查看本文最后的附件中的redis.confi。 
为了方便以后启动redis数据库,可将此命令写到当前目录下的新建文本文件中,取名为startService.bat,内容就是此指令,以后便可双击此文件启动服务。假如启动成功,可以看到: 

4.启动客户端:
参考上述的做法,新建一个文件,命名为startClient.bat,内容为:
redis-cli.exe -h 127.0.0.1 -p 6379 -n 1
这是启动redis客户端连接redis服务器的指令,其中-h为连接服务器的IP地址,-p是服务器端口号,-n是用户名,1是客户端连接密码。 
双击startClient.bat启动客户端,启动成功可以看到:

此外,还可以看到服务端输出接收到客户端连接的打印信息:

                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.100 (00000000/0) 64 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 9380
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • Unity JavaScript 解析json

    Unity JavaScript 解析json

    2017-03-16 10:02

  • 【Unity技巧】开发技巧(技巧篇)

    【Unity技巧】开发技巧(技巧篇)

    2017-02-22 14:00

  • Unity3D学习之使用 C#合成解析XML与JSON.doc.doc

    Unity3D学习之使用 C#合成解析XML与JSON.doc.doc

    2016-06-11 12:00

  • Unity3D脚本:Unity3D使用LitJson解析服务器上的JSON

    Unity3D脚本:Unity3D使用LitJson解析服务器上的JSON

    2016-01-31 10:32

网友点评