基于moodle网站的数据缓存方法和装置与流程

文档序号:12464836
基于moodle网站的数据缓存方法和装置与流程

本发明涉及计算机处理技术,尤其涉及一种基于moodle网站的数据缓存方法和装置。



背景技术:

现有技术中,会采用moodle(Modular Object-Oriented Dynamic Learning Environment,简称moodle)软件包来制作网络课程的网站,从而制作出moodle网站。在用户通过终端在moodle网站上进行网络课程的学习的时候,moodle网站的后台会将moodle网站产生的缓存数据进行存储。现有技术中,moodle网站的后台会将缓存数据存储在文本中,从而进行文本数据缓存。

然而现有技术中,由于moodle网站的后台在将缓存数据存储在文本中时,需要首先实时的建立起文本,然后再将缓存数据存储在文本中,从而缓存数据的过程较慢,降低了moodle网站的后台的运行效率。



技术实现要素:

本发明提供一种,用以解决现有技术中moodle网站的后台在将缓存数据存储在文本中时,需要首先实时的建立起文本,然后再将缓存数据存储在文本中,从而缓存数据的过程较慢,降低了moodle网站的后台的运行效率的问题。

本发明的一方面是提供一种基于moodle网站的数据缓存方法,包括:

获取网站的后台生成的缓存数据,所述网站为基于moodle软件包开发的网站;

对所述缓存数据进行序列化处理,生成字符串格式的缓存数据;

将字符串格式的缓存数据发送给redis数据库服务器,以使所述redis数据库服务器将字符串格式的缓存数据进行存储。

如上所述的方法中,在所述获取网站的后台生成的缓存数据之前,还包括:

接收用户输入的redis数据库服务器的服务器地址;

相应的,所述将字符串格式的缓存数据发送给redis数据库服务器,包括:

将字符串格式的缓存数据,发送给所述服务器地址所指示的redis数据库服务器。

如上所述的方法中,所述获取网站的后台生成的缓存数据,包括:

确定缓存数据接收路径;

根据所述缓存数据接收路径,获取网站的后台生成的缓存数据。

如上所述的方法中,在所述将字符串格式的缓存数据发送给redis数据库服务器,以使所述redis数据库服务器将字符串格式的缓存数据进行存储之后,还包括:

接收所述网站的后台发送的数据处理请求,并确定接收所述数据处理请求时的第一时间;

将所述数据处理请求发送给所述redis数据库服务器,以使所述redis数据库服务器对数据处理请求所请求的缓存数据进行处理后生成处理结果;

接收所述redis数据库服务器发送的处理结果,并确定接收所述处理结果时的第二时间;

确定第一时间和第二时间的时间差;

根据预设的花费时间,确定所述时间差是否大于所述花费时间,以生成缓存数据处理比较结果,其中,所述花费时间为所述网站的后台进行文本数据缓存时所花费的时间。

本发明的另一方面是提供一种基于moodle网站的数据缓存装置,包括:

获取模块,用于获取网站的后台生成的缓存数据,所述网站为基于moodle软件包开发的网站;

处理模块,用于对所述缓存数据进行序列化处理,生成字符串格式的缓存数据;

发送模块,用于将字符串格式的缓存数据发送给redis数据库服务器,以使所述redis数据库服务器将字符串格式的缓存数据进行存储。

如上所述的装置中,还包括:

接收模块,用于在所述获取模块获取网站的后台生成的缓存数据之前,接收用户输入的redis数据库服务器的服务器地址;

相应的,所述发送模块,具体用于:

将字符串格式的缓存数据,发送给所述服务器地址所指示的redis数据库服务器。

如上所述的装置中,所述获取模块,具体用于:

确定缓存数据接收路径;

根据所述缓存数据接收路径,获取网站的后台生成的缓存数据。

如上所述的装置中,所述发送模块在将字符串格式的缓存数据发送给redis数据库服务器,以使所述redis数据库服务器将字符串格式的缓存数据进行存储之后,还用于:

接收所述网站的后台发送的数据处理请求,并确定接收所述数据处理请求时的第一时间;

将所述数据处理请求发送给所述redis数据库服务器,以使所述redis数据库服务器对数据处理请求所请求的缓存数据进行处理后生成处理结果;

接收所述redis数据库服务器发送的处理结果,并确定接收所述处理结果时的第二时间;

确定第一时间和第二时间的时间差;

根据预设的花费时间,确定所述时间差是否大于所述花费时间,以生成缓存数据处理比较结果,其中,所述花费时间为所述网站的后台进行文本数据缓存时所花费的时间。

本发明通过获取网站的后台生成的缓存数据,所述网站为基于moodle软件包开发的网站;对所述缓存数据进行序列化处理,生成字符串格式的缓存数据;将字符串格式的缓存数据发送给redis数据库服务器,以使所述redis数据库服务器将字符串格式的缓存数据进行存储。实现了将基于moodle软件包开发的网站终产生的缓存数据存储到redis数据库服务器中,提高了缓存数据的效率,提高了moodle网站的后台的运行效率。

附图说明

图1为本发明实施例一提供的基于moodle网站的数据缓存方法的流 程图;

图2为本发明实施例二提供的基于moodle网站的数据缓存方法的流程图;

图3为本发明实施例三提供的基于moodle网站的数据缓存装置的结构示意图;

图4为本发明实施例四提供的基于moodle网站的数据缓存装置的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

图1为本发明实施例一提供的基于moodle网站的数据缓存方法的流程图,如图1所示,本实施例的方法包括:

步骤101、获取网站的后台生成的缓存数据,网站为基于moodle软件包开发的网站。

在本实施例中,具体的,moodle是一个开源学习管理软件包,开发用户可以采用moodle软件包开发出网络课程的网站,访问用户可以在网站上对网络乐成进行分类和搜索,按自己的需要学习课程性。在网站被使用的过程中,可以获取到网站的后台生成的缓存数据。

步骤102、对缓存数据进行序列化处理,生成字符串格式的缓存数据。

在本实施例中,具体的,对缓存数据进行序列化处理,从而可以生成字符串格式的缓存数据。

步骤103、将字符串格式的缓存数据发送给redis数据库服务器,以使redis数据库服务器将字符串格式的缓存数据进行存储。

在本实施例中,具体的,在moodle网站的后台中创建了redis插件。redis是一个key-value存储系统,它支持字符串(String,简称string)、链表(List,简称list)、集合(Set,简称set)、有序集合(Sorted set,简称zset)和哈希 等类型。举例来说,可以先在编写redis插件,基于moodle软件包开发的网站的cache/stores目录下,创建redis目录,该目录存放redis插件程序;其中,redis插件包括了lang/en/cachestore_redis.php:语言包,用于测试缓存性能的测试文件tests/lib_test.php,用于配置redis服务器地址信息的文件addinstanceform.php,核心包lib.php:redis,获取redis服务器地址信息的文件settings.php,以及redis插件的版本信息文件version.php;将redis插件拷贝到基于moodle软件包开发的网站的cache/stores/redis目录下即可,用管理员账号访问基于moodle软件包开发的网站就可以将redis安装到终端中。

从而可以将步骤102获取的字符串格式的缓存数据,通过redis插件发送给redis数据库服务器,redis数据库服务器将字符串格式的缓存数据进行存储。同时,可以通过redis插件会周期性的把更新的缓存数据写入redis数据库服务器的磁盘中,或者通过redis插件把修改过的缓存数据写入redis数据库服务器的追加的记录文件中。

本实施例通过获取基于moodle软件包开发的网站的后台生成的缓存数据,对缓存数据进行序列化处理后生成字符串格式的缓存数据,将字符串格式的缓存数据发送给redis数据库服务器,从而redis数据库服务器将缓存数据进行存储。从而实现了将基于moodle软件包开发的网站终产生的缓存数据存储到redis数据库服务器中,提高了缓存数据的效率,提高了moodle网站的后台的运行效率。

图2为本发明实施例二提供的基于moodle网站的数据缓存方法的流程图,如图2所示,在实施例一的基础上,在实施例一中的步骤101之前,还包括:

步骤201、接收用户输入的redis数据库服务器的服务器地址。

在本实施例中,具体的,用户可以在基于moodle软件包开发的网站中设置redis数据库服务器的服务器地址。举例来说,可以在基于moodle软件包开发的网站的“网站管理->插件->缓存->缓存存储->Redis”目录下配置redis数据库服务器的服务器地址。

相应的,步骤103,具体包括:

将字符串格式的缓存数据,发送给服务器地址所指示的redis数据库服务器。

在本实施例中,具体的,根据步骤201中用户确定的redis数据库服务器的服务器地址,确定其所指示的redis数据库服务器,从而将字符串格式的缓存数据发送给服务器地址所指示的redis数据库服务器。

本实施例通过接收用户输入的redis数据库服务器的服务器地址,从而将字符串格式的缓存数据发送给服务器地址所指示的redis数据库服务器,从而用户也可以更改redis数据库服务器的服务器地址,便于基于moodle软件包开发的网站的缓存数据的缓存。

进一步的,在上述实施例的基础上,步骤101,具体包括:

确定缓存数据接收路径;

根据缓存数据接收路径,获取网站的后台生成的缓存数据。

在本实施例中,具体的,在基于moodle软件包开发的网站的后台中生成一个缓存数据接收路径,通过缓存数据接收路径,去获取基于moodle软件包开发的网站的后台生成的缓存数据。

进一步的,在上述实施例的基础上,步骤102在将字符串格式的缓存数据发送给redis数据库服务器,以使redis数据库服务器将字符串格式的缓存数据进行存储之后,还包括:

接收网站的后台发送的数据处理请求,并确定接收数据处理请求时的第一时间;

将数据处理请求发送给redis数据库服务器,以使redis数据库服务器对数据处理请求所请求的缓存数据进行处理后生成处理结果;

接收redis数据库服务器发送的处理结果,并确定接收处理结果时的第二时间;

确定第一时间和第二时间的时间差;

根据预设的花费时间,确定时间差是否大于花费时间,以生成缓存数据处理比较结果,其中,花费时间为网站的后台进行文本数据缓存时所花费的时间。

在本实施例中,具体的,可以接收基于moodle软件包开发的网站的后台发送的数据处理请求,该数据处理请求可以是获取缓存数据请求、或者设置缓存数据的值的请求、或者删除缓存数据请求等请求;同时,确定出接收数据处理请求时的第一时间。将该数据处理请求发送给redis数据库服务器,redis 数据库服务器对数据处理请求所请求的缓存数据进行处理后生成处理结果;若数据处理请求是获取缓存数据请求,则可以生成获取数据成功的处理结果;若数据处理请求是删除缓存数据请求,则可以生成删除数据成功的处理结果。然后接收redis数据库服务器返回的处理结果,并确定接收该处理结果时的第二时间。将第二时间减去第一时间,得到第一时间和第二时间的时间差。预先设置了一个花费时间,该花费时间为基于moodle软件包开发的网站的后台进行文本数据缓存时所花费的时间;文本数据缓存的过程为,基于moodle软件包开发的moodle网站的后台在将缓存数据存储在文本中时,首先实时的建立起文本,然后再将缓存数据存储在文本中。比较花费时间和时间差的大小,确定时间差是否大于花费时间,从而生成一个缓存数据处理比较结果;若时间差小于花费时间,从而生成的缓存数据处理比较结果显示为当前通过redis数据库去缓存基于moodle软件包开发的网站的缓存数据的方式,优于文本数据缓存去缓存基于moodle软件包开发的网站的缓存数据的方式;若时间差大于花费时间,从而生成的缓存数据处理比较结果显示为,文本数据缓存去缓存基于moodle软件包开发的网站的缓存数据的方式,优于通过redis数据库去缓存基于moodle软件包开发的网站的缓存数据的方式。根据测试表明,时间差小于花费时间,从而通过redis数据库去缓存基于moodle软件包开发的网站的缓存数据的方式,优于文本数据缓存去缓存基于moodle软件包开发的网站的缓存数据的方式。举例来说,可以通过基于moodle软件包开发的网站的“网站管理->插件->缓存->Test performance”目录下,进行缓存数据的缓存性能测试。

本实施方式通过根据预设的花费时间,确定时间差是否大于花费时间,生成缓存数据处理比较结果,其中,花费时间为网站的后台进行文本数据缓存时所花费的时间;从而确定通过redis数据库去缓存基于moodle软件包开发的网站的缓存数据的方式,优于文本数据缓存去缓存基于moodle软件包开发的网站的缓存数据的方式。

图3为本发明实施例三提供的基于moodle网站的数据缓存装置的结构示意图,如图3所示,本实施例提供的基于moodle网站的数据缓存装置,包括:

获取模块31,用于获取网站的后台生成的缓存数据,网站为基于moodle软件包开发的网站;

处理模块32,用于对缓存数据进行序列化处理,生成字符串格式的缓存数据;

发送模块33,用于将字符串格式的缓存数据发送给redis数据库服务器,以使redis数据库服务器将字符串格式的缓存数据进行存储。

本实施例的基于moodle网站的数据缓存装置可执行本发明实施例一提供的基于moodle网站的数据缓存方法,其实现原理相类似,此处不再赘述。

本实施例通过获取基于moodle软件包开发的网站的后台生成的缓存数据,对缓存数据进行序列化处理后生成字符串格式的缓存数据,将字符串格式的缓存数据发送给redis数据库服务器,从而redis数据库服务器将缓存数据进行存储。从而实现了将基于moodle软件包开发的网站终产生的缓存数据存储到redis数据库服务器中,提高了缓存数据的效率,提高了moodle网站的后台的运行效率。

图4为本发明实施例四提供的基于moodle网站的数据缓存装置的结构示意图,在实施例三的基础上,如图4所示,本实施例提供的基于moodle网站的数据缓存装置,还包括:

接收模块41,用于在获取模块31获取网站的后台生成的缓存数据之前,接收用户输入的redis数据库服务器的服务器地址;

相应的,发送模块33,具体用于:

将字符串格式的缓存数据,发送给服务器地址所指示的redis数据库服务器。

获取模块31,具体用于:

确定缓存数据接收路径;

根据缓存数据接收路径,获取网站的后台生成的缓存数据。

发送模块33在将字符串格式的缓存数据发送给redis数据库服务器,以使redis数据库服务器将字符串格式的缓存数据进行存储之后,还用于:

接收网站的后台发送的数据处理请求,并确定接收数据处理请求时的第一时间;

将数据处理请求发送给redis数据库服务器,以使redis数据库服务器对数据处理请求所请求的缓存数据进行处理后生成处理结果;

接收redis数据库服务器发送的处理结果,并确定接收处理结果时的第二 时间;

确定第一时间和第二时间的时间差;

根据预设的花费时间,确定时间差是否大于花费时间,以生成缓存数据处理比较结果,其中,花费时间为网站的后台进行文本数据缓存时所花费的时间。

本实施例的基于moodle网站的数据缓存装置可执行本发明实施例二以及上述实施方式中提供的基于moodle网站的数据缓存方法,其实现原理相类似,此处不再赘述。

本实施例通过接收用户输入的redis数据库服务器的服务器地址,从而将字符串格式的缓存数据发送给服务器地址所指示的redis数据库服务器,从而用户也可以更改redis数据库服务器的服务器地址,便于基于moodle软件包开发的网站的缓存数据的缓存;并且实现了将基于moodle软件包开发的网站终产生的缓存数据存储到redis数据库服务器中,提高了缓存数据的效率,提高了moodle网站的后台的运行效率。通过根据预设的花费时间,确定时间差是否大于花费时间,生成缓存数据处理比较结果,其中,花费时间为网站的后台进行文本数据缓存时所花费的时间;从而确定通过redis数据库去缓存基于moodle软件包开发的网站的缓存数据的方式,优于文本数据缓存去缓存基于moodle软件包开发的网站的缓存数据的方式。

本领域普通技术人员可以理解:实现上述各方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成。前述的程序可以存储于一计算机可读取存储介质中。该程序在执行时,执行包括上述各方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

再多了解一些
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1