目录
1.当前进度
2.守护进程
3.进程监控
4.玩家姓名添加文件
5.文件删除玩家姓名
6.redis安装
7.redis存取命令
8.redis链表存取
9.redis程序结构
10.hiredisAPI使用
11.基于redis查找玩家姓名
12.MAKEFILE编写
13.游戏业务实现总结
1.当前进度

2.守护进程

3.进程监控

4.玩家姓名添加文件

5.文件删除玩家姓名
 
 玩家全部退出后 
 20s 
 后服务器退出  
 
 
 创建定时任务: 
 20 
 秒周期,超时处理 
 -- 
 》退出框架  
 
 
 添加时机:玩家 
 fini 
 的时候若总玩家 
 ==1  
 
 
 摘除时机:玩家 
 init 
 的时候若总玩家 
 ==0  
 
 
 随机姓名池  
 
 
 线性表存姓和名组成的线性表  
 
 
 取名字:随机取姓,随机取名  
 
 
 还名字:尾部追加姓或名  
 
 
 读姓文件的同时读名文件,边追加节点 
 
6.redis安装
 
 守护进程  
 
 
 fork 
 关掉父进程  
 
 
 设置回话 
 ID  
 
 
 重定向 
 0 1 2  
 
 
 在  
 /proc/XXXX(pid)/fd/  
 目录中可以查到当前进程打开的文件描述符 
 
7.redis存取命令
 
 进程监控  
 
 
 进入循环 
 ---fork  
 
 
 父进程, 
 wait  
 
 
 子进程 
 -- 
 》 
 break 
 
8.redis链表存取
 
 需求:查看当前局游戏内有哪些玩家? 
 1.  
 创建文件( 
 /tmp 
 (存到内存的,重启会消失))存储当前游戏局的  
 
 
 玩家们的名字  
 
 
 2.  
 查询:显示文件内容  
 
 
 3.  
 设置:存姓名到文件或从文件中取姓名  
 
 
 1.  
 存:追加的方式写文件  
 
 
 2.  
 删:读出所有内容,将非自己的名字重写写入 
 
9.redis程序结构
 
 redis 
 命令( 
 redis-cli XXXX 
 )  
 
 
 set key value:  
 存数据( 
 value 
 )  
 
 
 get key  
 :显示数据  
 
 
 del key 
 :删除一对数据  
 
 
 lpush 
 , 
 rpush 
 存链表节点  
 
 
 lrange 
 遍历  
 
 
 lrem 
 删除 
 n 
 个节点 
 
10.hiredisAPI使用
 
 redis 
 程序结构  
 
 
 cs 
 结构,数据放在服务进程的内存中  
 
 
 命令行客户端连接本地或远程地址访问  
 
 
 多种 
 API 
 可以访问: 
 hiredis  
 
 
 程序结构简单,内部的数据结构和算法优秀 
 
11.基于redis查找玩家姓名
 
 hiredisAPI 
 使用  
 
 
 C 
 函数库,包含头文件  
 <hiredis/hiredis.h>  
 , 
 编译时指定链接参数为 
 -  
 
 
 L/usr/local/lib -lhiredis  
 
 
 redisConnect 
 跟数据库建立链接( 
 redisFree 
 释放掉)  
 
 
 redisCommand 
 发命令并通过返回值取出结果( 
 freeReplyObject 
 释  
 
 
 放掉)  
 
 
 运行时若提示找不到共享库,则在 
 .bashrc 
 最末端添加一句  
 export  
 
 
 LD_LIBRARY_PATH=/usr/local/lib  
 , 
 重新打开终端运行 
 



















