解决一个比较复杂编程问题
用C/C++写一个提高mysql数据库效率的数据缓存模块缓存表结构(用户表):
CREATE TABLE `user_info` (
`player_id` int(11) NOT NULL AUTO_INCREMENT,
`user_name` varchar(15) NOT NULL,
`user_password` varchar(15) NOT NULL,
`location_x` int(11) DEFAULT '0',
`location_y` int(11) DEFAULT '0',
`logo_id` int(11) DEFAULT '0',
`e_mail` varchar(45) DEFAULT NULL,
`experiences` int(11) DEFAULT '0',
PRIMARY KEY (`player_id`),
UNIQUE KEY `index2` (`user_name`)
)
要求:
1) “缓存模块”提供数据访问的接口,其他程序通过“缓存模块”获取数据,不直接访问数据库;
2) 内存保存最常用的50条数据;
3) 查询操作时,“缓存模块”需优先使用内存中的数据;修改操作时,“缓存模块”需同步数据库和内存中的数据;
4) 只实现“查询”和“修改”两种操作;
5) 用多线程实现每分钟同步一次“内存”与“数据库”的数据;
6) 用标准C/C++写,不使用第三方组件;