大数据时代到来,存储越来越成为事务处理中不可或缺的一部分。Redis作为一款被广泛使用的非关系型数据库,经受了无数企业的考验,它的快速、可靠,被很多开发人员拿来了应用,然而 Redis 也有一些这个领域中的限制。
以流行的商业应用为例,Redis 对于单次查询来说是很有可能的,但业务流程中复杂的交互变得更加复杂和不可预期了,就像Redis无法实现的JOIN操作,在这里你只能使用聚合命令,这使得获得这些事务变得更加困难,另外,Redis缓存集群仅仅可以缓存而不能实现读写分离,因此,我们在实现一些复杂交互的时候还得依赖其他的存储系统,因此如何能突破Redis的 使用场景并开启一条新的存储路径?
幸运的是,随着新的技术的发展,我们可以发布新的Redis技术,允许在更多的场景中使用Redis,如Redis用于实现读写分离,而Redis-J引擎则可以在Redis中实现JOIN的功能,比如:
# 在Redis中实现JOIN
rj.right.join(“user_name”, “user_detls”, {
key=’user_name’,
conditions={{‘key’, ‘=”abc”‘}}
})
# 使用Redis进行读写分离
reader=Redis(“127.0.0.1”, 6379, {
readonly: true
});
writer=Redis(“127.0.0.1”, 6379);
# 分别使用Reader和Writer访问
reader.get(“hello”);
writer.set(“hello”, “world”);
这样,在一个小的桑拿空间中,新的应用技术已经让Redis可以在读写分离和JOIN等更多领域上使用,开启新的存储之路。
Redis确实变得更强了,但它还有相当大的挑战。它仍然无法完全替代面向流式应用的技术,因为它无法有效处理海量数据,它也需要支持大量的写入请求,它需要更好地支持分布式集群架构,才能更好地应对今天的业务场景。Redis今天已经开启了一条新的存储之路,而我们希望有更多的创新技术出现,让Redis能够在更多的场景中发挥更好的效能。