是否可以从MySQL内部调用Redis?

时间:2011-01-03 21:20:22

标签: mysql redis

是否可以从MySQL内部(使用本机函数或其他机制)从Redis获取数据?我希望能够在ORDER BY语句中使用此信息来使用LIMIT进行分页。否则,我将不得不从MySQL获取所有数据,从Redis获取每行的其他数据,在我的应用程序中排序并保留我需要的页面。

如果MySQL可以为每一行调用一个函数从Redis获取数据,进行排序并只向我发送我需要的页面,效率会更高。

1 个答案:

答案 0 :(得分:2)

即使这是可能的(使用开源,一切在技术上都是可行的),与应用程序中更清晰的排序方法相比,它不太可能提高性能。如果您的数据集很小,则返回所有内容都不是问题。如果您的数据集很大,您可能需要按索引列进行排序以从sql中获得不错的性能,并且您无法索引函数。

此外,如果结果集不是很大,那么主要的性能问题通常是延迟而不是处理或数据传输。来自sql的一个查询和来自redis的一个mget应该相当快。

如果您在查看页面时只需要一个查询,则需要在一个位置同时包含记录和排序数据 - 将redis中的数据添加为sql中的列或将查询缓存在redis列表中。