在 Web 浏览器中实现一个好的 redis 客户端需要啥?
Posted
技术标签:
【中文标题】在 Web 浏览器中实现一个好的 redis 客户端需要啥?【英文标题】:What would it take to implement a good redis-client in the web-browser?在 Web 浏览器中实现一个好的 redis 客户端需要什么? 【发布时间】:2016-01-19 09:12:48 【问题描述】:这个问题之前在
Can I connect directly to a Redis server from javascript running in a browser?
(注意我的评论)
和
Connecting directly to Redis with (client side) javascript?
但我想知道有什么可以完美实时连接的东西。阅读(一个 node-redis 客户端)https://github.com/luin/ioredis 源,我注意到 node 库的net
部分可能包含我们需要在浏览器中重现来执行此操作的那种功能。
猜测也许从 webrtc 函数的片段中破解出来的东西可以做到吗?
潜在的好处与构建大型分布式应用系统基础设施有关——比如社交媒体(来自对上面链接的第一个问题的评论):
我再次问这个问题,但规定我们想要一个“真实的”,就像在浏览器中运行的实时 redis 客户端——而不是 HTTP 任何东西——一样。可以构建一个伟大的实时“基础设施”,仅使用 CDN 服务资产构成客户端 webapp 直接与 Redis 通信。我想删除系统中不必要的 WebSocket 服务器方面。所有的控制逻辑都可以内化到 Lua 中的 redis 集群中。
【问题讨论】:
这并没有解决所提出的技术挑战,但对于某些应用程序来说,避开浏览器作为 Web 客户端的分发点可能是可行的,只使用 node-webkit (NW.js )。因为 NW.js 具有完整的 node.js 访问权限,所以标准节点 redis 客户端没有问题。 【参考方案1】:要在 web 浏览器中实现直接的 redis-client,您需要更改 Redis 本身,因此它会暴露 WebSocket 接口。这样您将获得允许使用的最简单的协议浏览器。
其他方法将涉及中间层。我认为应该可以通过ws-tcp-relay 代理命令,这非常快。
【讨论】:
以上是关于在 Web 浏览器中实现一个好的 redis 客户端需要啥?的主要内容,如果未能解决你的问题,请参考以下文章
在 Istio 中实现 Redis 集群的数据分片读写分离和流量镜像
在 Istio 中实现 Redis 集群的数据分片读写分离和流量镜像
如何在 dart 中实现适用于移动设备和 Web 的 http 客户端?