Redis 缓解超大返回数据问题(redis 返回报文过大)

随着项目规模的不断扩大,返回的数据量也在不断增加,19年社交等热门应用也更新了技术栈,提升开发效率,高并发相关业务也在大幅度发展,这些都使得超大数据返回,变得日益成为开发中的一大难题。有很多语言适用的优秀技术已经出现了,比如缓存技术,谈起缓存技术,不得不提Nodejs技术栈,它的缓存技术有memcache,Redis等,今天先聊聊 Redis,Redis更是被广大开发者称道的解决方案之一。

Redis是一款高性能、轻便高可用的内存数据库,针对有超大数据量返回的情况,Redis 可以将数据库中的一些超大数据返回,缓存到 Redis 服务器中,有效减轻数据库压力。例如在社交类业务,经常会遇到获取用户列表,返回时经常发现会有因为超大数据导致而慢或者报错,这时候就可以使用 Redis 缓解。

平时可以根据项目的实际情况,专门设计一个定时爬取大量用户列表的定时任务,将其缓存到 Redis 服务器中,以便提高用户请求的响应速度。具体的代码实现如下:

// 缓存到 Redis 中
let userList = awt getUserList();
userList.forEach(async item => {
awt RedisCli.set(item.id, JSON.stringify(item));
})
// 从 Redis 读取数据
let userList = []
list.forEach(async item => {
let data = awt RedisCli.get(item.id);
userList.push(JSON.parse(data))
})
res.json({
code: 0,
data: userList
})

由此可见,Redis 可以通过设计定时读取任务,将大量用户数据缓存到 Redis 服务器中,从而有效缓解查询和返回大数据量的问题,从而提升系统的响应性和用户体验。


数据运维技术 » Redis 缓解超大返回数据问题(redis 返回报文过大)