APP下载

Redis 6将使用全新协定RESP3提供客户端快取功能

消息来源:baojiabao.com 作者: 发布时间:2024-05-09

报价宝综合消息Redis 6将使用全新协定RESP3提供客户端快取功能

Redis之父Salvatore Sanfilippo在自己的部落格,解释Redis 6中新版的Redis协定RESP3,是他认为新版Redis最重要的改变,因为能为客户端提供更多的语意回复,用来开发旧协定难以实作的功能,像是其他数据库都有,但Redis还没提供的客户端快取(Client Side Caching)功能。

当使用者需要进行快速储存或是快速快取操作时,便需要在客户端内存中储存一小部分讯息,这是为了缴少应用程序撷取资料时的延迟,这个想法在大规模应用上特别重要,因为摆放的资料越靠近应用程序,应用程序就能越快取得需要的资料,Salvatore Sanfilippo提到,网络内存系统的下一步,就是要将大部分可以存取的资料,直接放在应用程序服务器的内存中,这个概念称为客户端快取。

但这个做法有一个需要解决的问题是,控制资料的有效性的方法,在应用可以允许的状况下,虽然可以直接设定快取资料的有效时间,让资料在一段时间后失效,但Salvatore Sanfilippo提到,大多数的应用程序无法接受提供过时的资料的风险,因此必须要找到一个更积极的方法,让存在客户端内存的资料失效。为此Salvatore Sanfilipp才在新版的Redis协定RESP3,加入了新功能来支援客户端快取,让储存在客户端内存资料,在客户端收到来自服务器的失效讯息时失效。

另外,当客户端与服务器端的连接中断,则客户端收不到资料失效讯息,这可能导致应用服务发生问题,一般的做法是重新建立连结,并更新客户端目前的快取,Salvatore Sanfilippo提到,可以一直保持连线确保失效讯息传递顺畅是最好的情况,但是为了减少过时资料产生的风险,Redis服务器还会在与客户端连结中断时,将资料失效讯息转送至其他客户端。

客户端快取功能在不少数据库都有提供,但在Redis上迟迟尚未支援,而终于在Redis 6将会加入辅助服务器端的客户端快取,这项功能的名称尚未完全确定,最后可能会被改称为追踪(Tracking)。目前客户端快取的功能只在Redis的不稳定版中提供,Salvatore Sanfilippo提到,在Redis 6候选版释出前,这些功能还能够调整,希望社群可以踊跃回馈想法,而由于客户端快取只能在RESP3支援,他也正设法让RESP2能够启用该功能。

2019-07-05 16:51:00

相关文章