小说网站、高性能 数据库设计、 采用 PHP + Mysql + Redis 等、看过论坛、有人说 小说保存 txt文件 或者 xml 格式、mysql 存txt文件地址(分页咋搞呢)、 想问一下 各位大佬,有没有思路,或者建议,怎么样能提高性能呢。
分页用 MySQL 实现就可以了 MySQL 只存储小说标题,文件的路径,有人要阅读小说,就从 MySQL 找到路径然后读取文件,再存进 Redis 缓存里 给个表设计思路 小说表 字段名称 数据类型 大小 描述 id int 11 小说表主键 title varchar 128 小说名 desc varchar 255 简介 author varchar 16 作者 noveltype varchar 16 小说类型 tags varchar 256 小说标签 章节表 字段名称 数据类型 大小 描述 id int 11 主键 title varchar 256 章节标题 novel_id int 11 小说ID(属于哪部小说) file_path varchar 1024 文章路径 is_delete tinyint 3 删除标识 words int 11 字数 ctime timestamp - 创建时间 mtime timestamp - 修改时间 用 MySQL 实现随便分页,机器好的话上千万数据也没问题 个人建议:不要用文件来实现,文件多的话后期会有麻烦,而且性能、数据一致性、安全性不能得到保障,如果真的要用文件来实现建议用安全的分布式文件系统来储存小说不是什么大文件,用 MySQL + Redis 就完全没有问题, 再增加一个小说内容表就好,然后章节表做一些修改,完整设计如下 小说表 字段名称 数据类型 大小 描述 id int 11 小说表主键 title varchar 128 小说名 desc varchar 255 简介 author varchar 16 作者 noveltype varchar 16 小说类型 tags varchar 256 小说标签 章节表 字段名称 数据类型 大小 描述 id int 11 主键 title varchar 256 章节标题 novel_id int 11 小说ID(属于哪部小说) content_id varchar 1024 文章内容id,对应内容表id is_delete tinyint 3 删除标识 words int 11 字数 ctime timestamp - 创建时间 mtime timestamp - 修改时间 内容表 字段名称 数据类型 大小 描述 id int 11 主键 content text - 章节内容
分页用 MySQL 实现就可以了
MySQL 只存储小说标题,文件的路径,有人要阅读小说,就从 MySQL 找到路径然后读取文件,再存进 Redis 缓存里
给个表设计思路
小说表
章节表
用 MySQL 实现随便分页,机器好的话上千万数据也没问题
个人建议:
不要用文件来实现,文件多的话后期会有麻烦,而且性能、数据一致性、安全性不能得到保障,如果真的要用文件来实现建议用安全的分布式文件系统来储存
小说不是什么大文件,用 MySQL + Redis 就完全没有问题, 再增加一个小说内容表就好,然后章节表做一些修改,完整设计如下
小说表
章节表
内容表