• 2021-12-27:
        1. 支持配置 db 号
        2. 如何输入空格和双引号set json_value '{"age": 24}'
    2019-04-09:
        1. 完善 python-websocket-server 对分片数据帧的支持. (ws2s-python >= V2.1.5)
    2018-11-13:
        1. 不允许创建同名的连接信息
        2. 删除连接信息时,对应的历史记录未同步处理的问题
    2018-09-21:
        1. 有提示信息时, 能在 header 中显示
    2018-04-16:
        1. 左侧的 连接信息列表, 可折叠
    2018-04-15:
        1. 存在已经打开的 ternimal 时, 禁用 连接信息列表的拖拽排序功能
    2018-04-12:
        1. 支持 ssh 隧道
    2018-04-10:
        1. 解决 Windows 上, jquery.terminal 字体等宽问题
    2018-04-09:
        1. 已保存的连接信息, 支持拖拽排序
    更早以前、记不清日期的:
        0. 填 jquery.terminal 记录历史命令的坑, 自己实现记录历史命令的功能
        1. array in array 的 redis 响应(如 `scan 0` 命令), 展示更友好的缩进
        2. 优化对超大 redis 响应的处理: 不直接打印在页面上、新增了 `dl`(下载)、`cp`(复制) 最后一个 redis 响应的命令
        3. 最后一个 redis 响应是 json 字符串的话, 可以执行 `jq` 命令, 在新窗口用 在线 json 格式化工具打开
        4. 解决 python-websocket-server 并发地向同一个客户端发送数据时, 多条数据的内容交织在一起的问题
        5. 解决 python-websocket-server 接收中文时乱码的问题, 并获得 `人生第一个 Pull Requests` 成就
  • 一开始, 作者使用 RDM。 但是这个 redis 图形界面的客户端, 默认情况下有很多让人难受的地方:
        1. 双击打开一个连接, 会自动 select 所有的 db。 要等待扫描完成后才能进行下一步操作。这一过程可能会持续很长时间。
        2. 双击打开一个 db, 会扫描所有的 key, 这一操作不仅仅是扫描, 还会真实删除已经过期的 key, 占用大量服务器资源。
        3. 命令行终端的交互极不友好: 光标位置必需在最后一行、窗口大小被限制在非常小的比例、
        ...

    fredis 的初心, 是希望有个地方能单纯的:
        1. 保存账号密码。
        2. 快速打开连接, 执行一条命令。
        3. 用户体验友好点。
        3. 用户体验友好点。
        3. 用户体验友好点。

    于是, 给这个网页版客户端取名叫 fredis: friendly redis。遗憾的是:
        1. 由于浏览器的限制, 它必须借助 ws2s 服务, 才能与 redis 服务端建立连接。
        2. 由于个人水平的限制, 目前只能保证 chrome 上的体验。

    使用场景上有很多限制, 没有考虑安全性, 只建议在开发环境与测试环境使用. 这两个环境一般可以本地访问, ws2s-server 可以安装在本地.
  • 运行在浏览器上的 js, 只能使用 http、websocket 协议发出网络请求。然而, redis 客户端需要使用 socket 与服务端通信。

    ws2s server 是一个 websocket 服务端。按约定的数据格式与它通信。它就能帮你:
        1. 与 redis 服务端建立 socket 连接。
        2. 使用这个 socket 连接发送数据。
        3. 当这个 socket 连接收到数据时, 把收到的数据通知给你。
  • fredis 还有很多不足的地方, 功能上、代码上。希望能在 github 上见:

    前端: https://github.com/playay/io/blob/master/redis/index.html
    ws2s: https://github.com/playay/ws2s
    redis协议解析: https://github.com/playay/ws2s/tree/master/ws2s-js