redis 代理工具Predixy安装部署

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 配置详细文档

时间: 2024-10-10 06:17:14

redis 代理工具Predixy安装部署的相关文章

【01】Redis for OPS:关于 Redis 基础说明与安装部署

写在前面的话 本章节开始在主要介绍在运维工作中绕不开的一个话题,数据缓存 NoSQL 服务 Redis,搭建很简单,使用很简单,运行也稳定的一批,一般小公司几乎很少出现以为量的问题导致他 down 掉的情况,但如果我们想走上更高的台阶,只是简单的安装运行肯定是不够的.所以我会写这几篇博客,算是做一个简单的小结,其内容涉及:主从,哨兵(高可用),集群(分布式). Redis 简介 在之前专门学习了 MySQL,我们把它称为关系型数据库,现在开始谈谈非关系型数据库(NoSQL,Key - Value

NoSQL数据库之Redis数据库:Redis的介绍与安装部署

 NoSQL(NoSQL = Not Only SQL),它指的是非关系型的数据库.随着互联网web2.0网站的兴起,传统的关系数据库在应付web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显的力不从心,暴露了很多难以克服的问题,而非关系型的数据库则由于其本身的特点得到了非常迅速的发展. NoSQL的特点: 特点一: 是以key-value形式存储,和传统的关系型数据库不一样,不一定遵循传统数据库的一些基本要求,比如说遵循SQL标准.ACID属性.表结构等等,这

redis集群的安装部署

安装过程 1. 下载并解压 wget http://download.redis.io/releases/redis-3.2.4.tar.gz tar -zxvf redis-3.2.4.tar.gz 2. 编译安装 cd redis-3.2.4 make && make install 3. 将 redis-trib.rb 复制到 /usr/local/bin 目录下 cd src cp redis-trib.rb /usr/local/bin/ 4. 创建 Redis 节点 修改red

自动化运维工具---SaltStack安装部署及简单案例

SaltStack原理 SaltStack由Master(服务端)和Minion(客户端)组成,Master和Minion之间通过ZeroMQ(消息队列)进行通讯,Master和Minion分别监听4505与4506端口,4505为master与minion认证通信端口,4506为master用来发送或者接受minion的命令执行返回信息. 当客户端启动后,会主动链接master端注册,然后一直保持该TCP连接,而master通过这条TCP连接对客户端进行控制,如果连接断开,master将对客户

Windows 包管理工具 Scoop 安装部署

简介: window 系统有这丰富的软件包,但是个人想做一些开发调试是,需要找一些各种奇葩的包,还要解决解决各种奇葩的问题.scoop 的目标就是解决这些问题.scoop 是windows 平台的包管理工具,类似 linux 系统的apt-get ,yum ,mac 系统的brew 工具. 安装环境: window server 2008 64X 检查环境依赖 使用 cmd 或者 powershell 都可以,要求 PowerShell >= 3 Windows 10 或者 Windows Se

Redis的介绍以及安装部署(一)

Redis的介绍 1. Redis是一个开源的,以key-value的形式存储 2. 通常被称为数据结构服务器,它的值可以有字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型 3. 数据都是缓存在内存中,可以周期性的把更新的数据写入磁盘或者追加记录文件 Redis是Nosql的其中一种,那么与传统的关系型数据库不一样在哪里的? 1. MySQL体积小.速度快.成本低.结构稳定.便于查询,可以保证数据的一致性,但缺乏灵活

Redis学习一Redis的介绍与安装部署

NoSql 介绍 NoSql 是key-value形式存储,和传统的数据库不一样,不一定遵循传统数据库的一些基本要求,比如遵循SQL标准(insert\update\delete\select).ACID属性(原子性 一致性 隔离性 持久性).表结构等等,这些数据库有具有以下特点:非关系型的.分布式的.开源的.水平可扩展的. redis 的介绍 redis 是一个开源的,先进的key-value存储.它通常被称为数据结构服务器,因为键可以包含字符串(string).哈希(hash).链表(lis

redis-rdb-tools安装部署及使用

redis内存分析工具redis-rdb-tools安装部署项目地址:https://github.com/sripathikrishnan/redis-rdb-tools 安装部署 安装Python2.7 下载redis-rdb-tools git clone https://github.com/sripathikrishnan/redis-rdb-tools.git 安装redis-rdb-tools pip2.7 install python-lzf cd redis-rdb-tools

openstack 之 使用ansible安装部署试验

前期一直使用Mirantis公司的fuel工具进行安装部署openstack,但是在实际使用当中,发现fuel对于定制化的需求还是做得不够好,如果中间部署出错,你找不出原因,同时如果资源紧张,需要同时在一个物理节点上同时部署多个组件,fuel的支持不是很好.我在试验环境下测试了controller和cinder复用一台物理主机,controller与ironic复用,都失败了,而且鉴于查找解决办法,还需要深入了解fuel本身的结构,因此后面发现只有简单环境下使用fuel是顺利的,稍微灵活一点的部