我们有一个非常延迟敏感的web服务应用程序,我们正在考虑在用例中使用Redis,其中每个web服务器节点将在本地安装Redis,而这些web服务器节点(每个安装了Redis )将相互同步Redis数据。
根据文档,看起来Redis是通过TCP端口访问的。我们想知道我们的web服务器进程是否可以直接访问本地Redis实例的共享内存(使用指针?)而不是通过那些TCP套接字?
如果Redis不是正确的工具,你还会建议其他工具吗?
谢谢,杰西卡
发布于 2022-05-19 12:12:57
不,你不能。
但是,您可以让Redis同时监听TCP和Unix域套接字。TCP连接可用于与其他Redis实例同步数据。您还可以使用Unix域套接字连接到本地Redis服务器。Unix域套接字可能比TCP连接更快。
我没有用这种配置测试Redis,尽管我认为值得一试。你最好做些基准测试。祝好运!
发布于 2022-06-14 03:49:45
许多人使用RDMA和DPDK来减少网络i/o的延迟,就像对冲基金一样,在dpdk上已经做了大量的工作(虽然它仍然是通过tcp/ip),在dpdk中我们直接从用户空间接收数据,从而大大减少网络io的延迟,根据其他人的基准,它可以将单个Redis实例的性能提高30%到60%。
https://stackoverflow.com/questions/72303909
复制相似问题