【技术实现步骤摘要】
实现多功能缓存的方法和系统
本专利技术涉及计算机技术及软件领域,尤其涉及一种实现多功能缓存的方法和系统。
技术介绍
缓存技术几乎已经成为提高各种系统性能的有效技术手段,在互联网网站系统中更是一种不可或缺的技术。各个系统根据自身的需要,在实现缓存的过程中用到的技术也不尽相同。现有技术中,实现缓存功能的行之有效的方法是利用Nginx自身的ngx_http_proxy_module模块,通过代理的方式对数据进行缓存。通过该模块中的相关缓存指令,从而轻松实现将数据缓存在磁盘文件中,且配置较为简便。但这种方式存在一定的缺陷性:首先,该方式只对使用ngx_http_proxy_module模块的请求起作用,有一定的局限性;其次,配置较为死板,无法动态开启或关闭缓存;再次,因为获取的数据是存储在磁盘,所以能够存储的可用文件的个数受限于所在文件系统的inode数;最后,数据缓存过程中,缓存设备单一,只能做到将数据缓存到指定的目录中,而无法实现自由选择缓存设备,对缓存功能的实现有一定的影响,不利于提高整个系统的性能。
技术实现思路
有鉴于此,本专利技术提供一种实现多功能缓存的方法和系统 ...
【技术保护点】
一种实现多功能缓存的方法,其特征在于,包括:利用Nginx,根据数据请求,从缓存设备中获取数据,若获取成功,则将数据返回至客户端;否则,从服务器回源数据,将回源到的数据返回至客户端,并将所述数据保存至缓存设备中,其中回源是指将客户端的请求发回服务器,并从服务器获取数据,其中所述缓存设备为内存数据库和/或外部数据库。
【技术特征摘要】
1.一种实现多功能缓存的方法,其特征在于,包括:利用Nginx,根据数据请求,从缓存设备中获取数据,若获取成功,则将数据返回至客户端;否则,从服务器回源数据,将回源到的数据返回至客户端,并将所述数据保存至缓存设备中,其中回源是指将客户端的请求发回服务器,并从服务器获取数据,其中所述缓存设备为内存数据库和/或外部数据库。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:设置缓存开关,包括全局缓存开关和/或变量缓存开关,以动态开启或关闭缓存。3.根据权利要求1所述的方法,其特征在于,从服务器回源数据还包括:回源时,利用异步非阻塞锁机制,以确保相同的请求只有一个被回源到服务器。4.根据权利要求1所述的方法,其特征在于,所述内存数据库采用Redis、Memchached、Nginx共享缓存中的一种或几种。5.根据权利要求1所述的方法,其特征在于,所述方法还包括:根据缓存需求,在将所述数据保存至缓存设备中时,进行数据分片、数据切割存储、数据压缩中的一种或几种处理,以提高缓存性能。6.一种实现多功能缓存的系统,其特征在于,包括:...
【专利技术属性】
技术研发人员:马顺风,
申请(专利权)人:北京京东尚科信息技术有限公司,北京京东世纪贸易有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。