Predixy

Predixy 是一款高性能全特征redis代理,支持redis-sentinel和redis-cluster

特性

  • 高性能并轻量级

  • 支持多线程

  • 多平台支持:Linux、OSX、BSD、Windows(Cygwin)

  • 支持Redis Sentinel,可配置一组或者多组redis

  • 支持Redis Cluster

  • 支持redis阻塞型命令,包括blpop、brpop、brpoplpush

  • 支持scan命令,无论是单个redis还是多个redis实例都支持

  • 多key命令支持: mset/msetnx/mget/del/unlink/touch/exists

  • 支持redis的多数据库,即可以使用select命令

  • 支持事务,当前仅限于Redis Sentinel下单一redis组可用

  • 支持脚本,包括命令:script load、eval、evalsha

  • 支持发布订阅机制,也即Pub/Sub系列命令

  • 多数据中心支持,读写分离支持

  • 扩展的AUTH命令,强大的读、写、管理权限控制机制,健空间限制机制

  • 日志可按级别采样输出,异步日志记录避免线程被io阻塞

  • 日志文件可以按时间、大小自动切分

  • 丰富的统计信息,包括CPU、内存、请求、响应等信息

  • 延迟监控信息,可以看到整体延迟,分后端redis实例延迟

predixy很快,有多快? 对比几个流行的redis代理(twemproxy,codis,redis-cerberus), predixy要比它们快得多。

编译

Predixy可以在所有主流平台下编译,推荐在linux下使用,需要支持C++11的编译器。

编译非常简单,下载或者git clone代码后进到predixy目录,直接执行: 首先解决编译依赖:

yum install libstdc++-static -y                 git clone https://github.com/joyieldInc/predixy.git  cd predixy/$ make

编译后会在src目录生成一个可执行文件predixy

编译debug版本:

$ make debug

更多编译选项:

  • CXX=ccompiler,指定c编译器,缺省是g++,可以指定为其它,例如:CXX=clang++

  • EV=epoll|poll|kqueue,指定异步io模型,缺省情况下是根据平台来检测

  • MT=false, 关闭多线程支持

  • TS=true, 开启函数调用耗时分析,该选项仅用于开发模式

一些使用参数编译的例子:

$ make CXX=clang++$ make EV=poll$ make MT=false$ make debug MT=false TS=true

安装

简单的只要拷贝src/predixy到目标路径即可

$ cp src/predixy /usr/local/bin/$ mkdir   -p /var/log/predixy/

predixy的配置类似redis, 具体配置项的含义在配置文件里有详细解释,请参考下列配置文件:

  • predixy.conf,整体配置文件,会引用下面的配置文件

  • cluster.conf,用于Redis Cluster时,配置后端redis信息

  • sentinel.conf,用于Redis Sentinel时,配置后端redis信息

  • auth.conf,访问权限控制配置,可以定义多个验证密码,可每个密码指定读、写、管理权限,以及定义可访问的健空间

  • dc.conf,多数据中心支持,可以定义读写分离规则,读流量权重分配

  • latency.conf, 延迟监控规则定义,可以指定需要监控的命令以及延时时间间隔

提供这么多配置文件实际上是按功能分开了,所有配置都可以写到一个文件里,也可以写到多个文件里然后在主配置文件里引用进来。

运行

$ predixy /predixy/conf/predixy.conf

使用默认的配置文件predixy.conf, predixy将监听地址0.0.0.0:7617,后端的redis是Redis Cluster 127.0.0.1:6379。通常,127.0.0.1:6379并不是运行在Redis Clusterr模式下,因此Predixy将 会有大量的错误日志输出。不过你依然可以用redis-cli连接predixy来试用一下:

$ redis-cli -p 7617 info

执行上条命令后可以看到predixy自身的一些信息,如果127.0.0.1:6379在运行的话,你可以试试其它redis命令,看看效果如何。

更多的启动命令行参数请看帮助:

$ src/predixy -h

统计信息

和redis一样,predixy用INFO命令来给出统计信息。

在redis-cli连接下执行下面的命令:

redis> INFO

你将看到类似redis执行INFO命令的输出,不过这里是predixy的统计信息。

benchmark 配置详细文档

转载于:https://blog.51cto.com/michaelkang/1963204

redis 代理工具Predixy安装部署相关推荐

  1. Redis管理工具CacheCloud的部署与使用

    Redis管理工具CacheCloud的部署与使用 Git项目地址 CacheCloud作用 下载 1)下载项目 2)导入表结构 启动 1)配置CacheCloud项目 2)启动 1:编译 2:拷贝w ...

  2. linux redis-4.0,Linux Redis 4.0.2 安装部署

    Linux Redis 4.0.2 安装部署 01 安装GCC yum -y install gcc gcc-c++ libstdc++-devel tcl -y 02 下载安装包 cd /expor ...

  3. Redis单台的安装部署及集群部署

    Redis是一种高级key-value数据库.它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富.有字符串,链表,集 合和有序集合.支持在服务器端计算集合的并,交和补集(diff ...

  4. 第一百三十六期:详细讲解 Redis 的两种安装部署方式

    Redis 是一款比较常用的 NoSQL 数据库,我们通常使用 Redis 来做缓存,这是一篇关于 Redis 安装的文章,所以不会涉及到 Redis 的高级特性和使用场景,Redis 能够兼容绝大部 ...

  5. redis集群的安装部署

    1.下载redis的稳定版本 wget https://download.redis.io/redis-stable.tar.gz 2..安装redis软件 tar -xzvf redis-stabl ...

  6. NoSQL数据库之Redis数据库:Redis的介绍与安装部署(redis-2.8.19/3.2.5)

     NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的w ...

  7. linux系统rootkit恶意软件安全检测工具rkhunter安装部署、使用详解

    rkhunter简介: 中文名叫"Rootkit猎手", rkhunter是Linux系统平台下的一款开源***检测工具,具有非常全面的扫描范围,除了能够检测各种已知的rootki ...

  8. api接口文档编辑工具-YApi安装部署(window版)

    YApi官网地址 YApi源码地址下载 内网安装文档地址 安装前准备环境 nodejs(7.6+) mongodb(2.6+) git 安装mongodb 官网下载地址 百度云盘下载地址   提取码: ...

  9. CMDB工具 - iTop安装部署(一发入魂)

    基于 LAMP 环境部署 iTop 一.搭建 LAMP 环境 注:操作系统为 CentOS 7.9 安装 Apache HTTP Server sudo yum -y install httpd 安装 ...

最新文章

  1. 实时监控fps的linux代码,GitHub - Forec/monitor-recorder: Monitor (实时视频监控、运动检测视频记录)...
  2. sql注入_1-4_post盲注
  3. CentOS 7安装GitLab、汉化、配置邮件发送
  4. rust8G内存够不够用_Rust是如何做到内存安全的
  5. 禁止微信公众号页面上下滑动
  6. SpringMVC获取response的问题
  7. 有人问我:Linux下命令行里 password:的时候 用键盘密码打不了
  8. python列表用什么符号表示_python列表类型
  9. c语言课件谭浩强ppt下载,c语言课件谭浩强
  10. 一大推DISCUZ系列插件模板来了,需要的免费抢!!!
  11. windows socket 网络编程
  12. 产品结构图、功能结构图、信息结构图,区别在这里
  13. 校园网里,一账号多人上网或者多账号多人上网的宿舍路由器设置方法
  14. 总结一下常用web.config公共配置。
  15. GD32F450以太网(1):ETH 外设接口简介
  16. Java音乐播放:获取音频信息
  17. Android CoordinatorLayout之自定义Behavior
  18. prometheus 监控告警安装与设置
  19. Linux内存管理1---内存寻址
  20. EasyCVR边缘计算网关助力安防视频场景化AI落地,让智能无处不在

热门文章

  1. 20145223《信息安全系统设计》 实验四 驱动程序设计
  2. 详解使用DockerHub官方的mysql镜像生成容器
  3. [hadoop源码阅读][9]-mapreduce-概论
  4. 数位DP 不断学习中。。。。
  5. animate默认时长所带来的问题及解决
  6. 云计算将成为金融服务业的主流技术
  7. npm你不知道的8个快捷键
  8. Unable to complete the scan for annotations for web application
  9. CBA 赛程的笔记 - 北京首钢
  10. SAS、R以及SPSS的比较__统计语言大战