xSky 实验室关注高性能计算,分布式系统/存储,大数据/机器学习/WebRTC
目录
  • 首页
  • 技术相关
  • 原创作品
  • 人工智能/机器学习
  • 系统与架构
  • 数据库/数据分析
  • 分布式系统/存储
  • 服务端开发
  • WEBRTC研究
  • 开发调试
  • 网络与安全
  • 常用工具
  • 杂七杂八

xhttpcache 高速数据缓存服务

2018-04-08 07:57:18

xhttpcache 是一个HTTP静态缓存服务,也可以做为K-V存储的NOSQL数据库,支持redis协议接口,支持HTTP协议的REST接口;
特点:
0. 提供HTTP静态缓存服务,支持存储二进制数据; 
1. 完整的K-V存储实现, 数据持久化存储(ROCKSDB); 
2. 支持数据超时机制,提供毫秒级精度。
3. 现实REDIS协议接口,支持redis的SET/GET/DEL/EXIRE/TTL命令;
4. 实现HTTP协议接口,支持通过REST命令访问;
5. 自带WEB后台编辑器(http://127.0.0.1:9090/admin.htm),可以直接添加/修改/删除数据;

使用方法:
xhttpcache被设计为HTTP数据加速服务器,由于实现上使用了NOSQL数据库的访问接口,使之也可以当做简单的KV数据使用;
通过REDIS接口建立的数据,可以直接通过HTTP接口在浏览器里访问查看.

通过HTTP接口访问:
xhttpcache 有两个HTTP服务端口,可以配置文件里配置;
httpd_frontend_port 为开放访问端口,只支持读请求;
httpd_backend_port 为后端数据操作端口,支持全部REST读写请求(get/post/put/delete);
后端数据接口访问可以设置登陆账号密码;

curl -d "testdata" http://test:www@127.0.0.1:9090/testkey
通过POST请求向 xhttpcache 提交建立一条kv格式的数据:testkey -- testdata

curl http://127.0.0.1:8080/testkey
通过get请求访问testkey的数据
通过前端端口访问,不需要密码验证,当然也可以通过后端接口带上密码访问:
curl http://test:www@127.0.0.1:9090/testkey
这两种方式通过GET请求访问的数据是完全一样的。

curl -I -X DELETE http://test:www@127.0.0.1:9090/testkey
通过http协议的delete请求删除testkey


通过redis命令使用示例:
[xsky@localhost xhttpcache]$ redis-cli -p 6579
127.0.0.1:6579> set test wwwwwwwwwwwwwwww 
OK
127.0.0.1:6579> get test
"wwwwwwwwwwwwwwww"
127.0.0.1:6579> set test wwwwwwwwwwwwwwww ex 1000
OK
127.0.0.1:6579> get test
"wwwwwwwwwwwwwwww"
127.0.0.1:6579> ttl test
(integer) 988
127.0.0.1:6579> EXPIRE test 2000
(integer) 1
127.0.0.1:6579> ttl test
(integer) 1998
127.0.0.1:6579> get test
"wwwwwwwwwwwwwwww"
127.0.0.1:6579>


高级特性:
xhttpcache对通过HTTP访问的URI会进行类型判断,返回对应该的HTML的Content-Type,
例如:对于/test.htm 形式的地址,在返回内容时,http头部里返回: Content-Type: text/html;
这样,通过浏览器直接访问 test.htm 对应该的数据内容时,可以以HTML的形式显示。
对于/test.jpg 形式的key,如果对应该的value内容是JPG图片数据,通过浏览器访问/test.jpg时,就直接正常显示为图片;
根据以上特点,可以很容易的将静态网站文件全部加载到cache里,全部内存化.

 下载地址:xhttpcache_20160624.tar.gz

By:xSky | 原创作品 |

  • 分类目录

    • 技术相关 (34)
    • 原创作品 (13)
    • 人工智能/机器学习 (6)
    • 系统与架构 (9)
    • 数据库/数据分析 (11)
    • 分布式系统/存储 (4)
    • 服务端开发 (7)
    • WEBRTC研究 (7)
    • 开发调试 (7)
    • 网络与安全 (9)
    • 常用工具 (9)
    • 杂七杂八 (6)
  • 最新文章

    • WSL从C盘迁移到其他盘区
    • 赵何娟:中国AI追随之路的五大误区,我们至少落后十年
    • zap  发送日志到 websocket
    • QUIC(隐藏的)超能力
    • MYSQL 生成日期/时间序列总结
    • Linux bash终端设置代理(proxy)访问
    • centos 下 yum安装python3
    • 使用SQL查询Milvus 向量数据库
    • 浅谈 MySQL 新的身份验证插件 caching_sha2_password
    • Milvus v2.2.1 开源向量搜索引擎使用教程
    • 部署了一个SRS的demo
    • Dockerfile 详解
    • Docker常用命令
    • Tus文件上传协议
    • 编译运行Milvus
    • MinIO 快速入门
    • ESP32
    • Prometheus监控报警系统搭建
    • go语言JSON字典模拟
    • go语言的sql解析器
    • Grafana配置数据源,自定义查询语法
    • TDengine + Telegraf + Grafana
    • gRPC-Gateway 返回JSON数据int64类型被转为string类型问题
    • LLAMA模型试玩
    • 语音识别的一些开源项目整理
    • 使用MYSQL8进行统计分析
    • 记录FFmpeg抽帧、合流、转码、加水印等操作
    • 移动网络弱网处理研究
    • 翻译:使用 Semgrep 进行热点代码评审
    • 共享内存并发路线图
  • 链接

    • xSky的Blog
    • 我的Github
    • 实时监控图表
    • 预印本
    • xRedis 在线文档
    • xSkyProxy
    • xChart 数据在线测试
    • 我的电子书
    • xChart 数据可视化系统
    • 树莓派技术圈
    • WebRTC开发者社区
  • 开源项目

    • xReis C++的redis客户端库
    • xBlog-C++ 博客程序
    • xSkyProxy-新型MySQL代理网关
    • 数据可视化平台- xChart
    • xhttpcache 高速数据缓存服务
    • xMonitor-图形监测工具
    • 网址收集

Powered By xBlog

Copyright 2010~2024 0xsky.com All Rights Reserved.