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 配置详细文档
转载于:https://blog.51cto.com/michaelkang/1963204
相关文章:

超级详细的 Python 数据分析指南
来源 | 算法进阶头图 | 下载于视觉中国前言:数据分析是通过明确分析目的,梳理并确定分析逻辑,针对性的收集、整理数据,并采用统计、挖掘技术分析,提取有用信息和展示结论的过程,是数据科学领域的核心技能。…

C#实现-移位加密
/* Filename: encrypt_string.cs Author : zhanghua Date : 2005-08-11 Fuction : input a strig and encrypt a string 加密后的字符串的第一个字符是原先字符串的最后一个字符, 其余的每一个字符是对应的原字符串中的前一个字符的值…

oracle相关操作
查看用户系统权限:select * from dba_sys_privs;select * from session_privs;select * from user_sys_privs;查看用户对象权限:select * from dba_tab_privs;select * from all_tab_privs;select * from user_tab_privs;修改数据库密码:alte…

Ansible批量安装mysql数据
1.构建安装目录mkdir -p /ansible/roles/mysql/{defaults,files,handlers,meta,tasks,templates,vars}defaults 默认寻找路径tasks 存放playbooks路径files 存放文件和脚本,copy模块文件搜索路径templates 模版存放路径handlers notify调用部分playbook存放路径vars…

C#在客户端和服务端操作Excel文件
一、在客户端把数据导入到Excel文件步骤1、创建Excel application对象,打开或生成Excel文件//服务端创建StringBuilder对象System.Text.StringBuilder sbnew System .Text .StringBuilder (); //指定客户端执行语言sb.Append ("<Script LanguageVBScript&g…

oracle数据库同步交换的方法
oracle数据同步方案与实现:如何在两个oracle服务器之间交换数据?来源:无忧模板 作者:网络编辑 更新时间:2010-08-09 18:10 点击:次 方案一:建立两个数据库之间的DATA_LINK,直接将新数据写入另一数据库方案二:使用SQL *…

让语音助手听懂方言,这个数据集能搞定
来源 | HyperAI超神经头图 | 来源于网络 侵删方言是语音识别技术发展中必须要迈过去的坎儿,那么如何让模型能够听懂和理解方言呢?使用优质的数据集是一种的方法,本文将介绍一个经典的方言录音数据集 TIMIT。随着科技的成熟,语音识…

Django内置Admin
Django内置的Admin是对于model中对应的数据表进行增删改查提供的组件,使用方式有:依赖APP:django.contrib.authdjango.contrib.contenttypesdjango.contrib.messagesdjango.contrib.sessions模板的context_processors:django.cont…

Puppet扩展篇1-自定义fact结合ENC(hirea)的应用实践
零基础学习Puppet自动化配置管理系列文档在大量节点加入Puppet之后,你至少会面临两个比较大的问题:1、由于节点数的增多,site.pp文件必然会编写更多的节点条目,以及节点包含的类。假设你用Puppet管理500个节点,存在三种…

C#WinForm制作异形窗体/控件
制作异形窗体或控件的思路一般都是想办法生成一个region,然后设置给指定的窗口或控件。生成region的方法有很多,最常用的就是从一幅图片生成,把该图片中的透明色部分“抠”掉,剩下的部分作为一个region。设置窗口或控件的region可…

谷歌提出纯 MLP 构成的视觉架构,无需卷积、注意力 !
来源 | 迈微AI研习社责编 | 寇雪芹头图 | 下载于视觉中国当前,卷积神经网络(CNN)和基于自注意力的网络(如近来大火的 ViT)是计算机视觉领域的主流选择,但研究人员没有停止探索视觉网络架构的脚步。近日&…

HttpApplication事件ASP.NET页面周期
学习吧少年........................... 修改中........... 当一次请求到达IIS 1、http.sys将请求发送到指定的应用程序池。 2、应用程序池再将请求交给池中的工作进程(w3wp.exe), 3、w3wp.exe根据请求URL的后缀,决定加载那个ISAP…

C#实现对象的Xml格式序列化及反序列化
要序列化的对象的类: [Serializable]public class Person{private string name;public string Name{get{return name;}set{namevalue;}}public string Sex;public int Age31;public Course[] Courses;public Person(){}public Person(string Name){nameName;Sex&qu…

outlook2010 打开总是提示“正在加载配置文件”
公司员工的电脑一打开OUTLOOK2010的时候,总是提示“正在加载配置文件”,要重新启动,还是无法打开,尝试了卸载和重装的方法也没有用.其实,只需下载一个windows search 4.0即可解决.转载于:https://blog.51cto.com/shidilun/1400227

腾讯云存储产品矩阵全面升级,发布三维生态战略
5月10日,腾讯云在北京举行存储产品战略发布会,发布了业界首款十微秒级的极速型云硬盘、业界首款突破百GB 吞吐的文件存储、以及业界首创能够10倍提升数据湖存储分析性能的对象存储三级加速器等新一代云存储产品矩阵。 同时,腾讯云还宣布将围…

围绕云计算 虚拟化技术又呈现新面貌
本文讲的是围绕云计算 虚拟化技术又呈现新面貌,【IT168 资讯】虚拟化技术的三项基本使命-即作为客户端技术,作为服务器技术和作为网络技术,如今正在围绕云计算理念相结合在一起。 起源于X86服务器的虚拟化技术已经快速扩展到存储和网络领域。…

C#字符串处理类
首先介绍一下常用的几个功能: Compare(str1,str2)——比较两个字符串 str1,str2的大小,如果大于返回正数,等于返回0,小于返回负数! IndexOf——定位字符串中第一次出现某个给定字符串的位置PadLeft和PadRight——在字…

linux严谨的telnet搭建并用防火墙开通与禁行
今天本打算练练防火墙iptables的东西,本想拿telnet的23号端口练手,没想到在敲实验的时候遇到了些曲折,经过一番努力,把本次实验过程生成文档。实验环境:rhel5.6及系统盘实验目的:通过iptables对telnet服务2…

孩子、老人与海豚,如何用 AI 伴他们走出孤独
“万里归来颜愈少。微笑。笑时犹带岭梅香。试问岭南应不好。却道。此心安处是吾乡。”苏轼的一首《定风波》道出老人心愿,道出人生百态,也道尽世间炎凉。当你走出万里,无论天涯或是海角,每个人的身上都带着自己独有的印记。这份印…

Linux之 手动释放内存
我们在进程中要怎样去描述一个文件呢?我们用目录项(dentry)和索引节点(inode)。它们的定义如下: 所谓"文件", 就是按一定的形式存储在介质上的信息,所以一个文件其实包含了两方面的信息,一是存储的数据本身,二是有关该文…

C#操作Excel导入导出
前些日子,有很多朋友说需要C#导出到Excel的代码,现共享给大家 /// <summary> /// 读取Excel文档 /// </summary> /// <param name"Path">文件名称</param> /// <returns>返回一个数据集</returns> …

中国安全态势越来越好,专访山石网科CSO蒋东毅 | 拟合
从无序中寻找踪迹,从眼前事探索未来。2021 年正值黄金十年新开端,CSDN 以中立技术社区专业、客观的角度,深度探讨中国前沿 IT 技术演进,推出年度重磅企划栏目——「拟合」,通过对话企业技术高管大咖,跟踪报…

《大数据、小数据、无数据:网络世界的数据学术》一 导读
前 言‖ 在“大数据”风靡的当代,学术研究中的“小数据”依旧不容小觑。随着绝对数据量的增加,学者们进行个体研究的能力却不断退化。因为他们从未距离研究对象如此遥远。新工具和新视角成为学术研究的必需品。但相对于“小数据”而言,“大…

UIView旋转角度
2019独角兽企业重金招聘Python工程师标准>>> 最近做一个视图的旋转、放大、拖动、拉伸,其他的都慢慢解决了,就是旋转之后各种问题不好处理,最终归结到旋转角度的不能获取,纠结了好几天,终于找到了获取旋转角…

生成静态文件的新闻系统核心代码
在网上看了许多能生成静态页的新闻系统,但基于asp.net的系统极少,闲下时间来自己写了一个,发出来,大家一起研究,代码没做什么优化,只是实现了功能 using System;using System.Collections;using System.Com…

「软件」2.0时代已经到来,你需要这样的开发工具
互联网催生了软件的繁荣,而在AI浪潮的推动下,软件正在朝着更「智能」的方向发展,也就是「软件2.0」时代。「软件2.0」其实就是神经网络,也就是这一波AI浪潮的基石。 在「软件1.0」时代,程序员用Java、Python、C等语言…

WF4 Beta,RC版文章总结
Visual Studio 2010明天就要发布正式版了,伴随Visual Studio 2010的发布微软的新一代工作流框架Workflow Foundation 4也会正式发布。从Beta版开始就断断续续的开始关注了,并写了一些文章,今天总结下: WF4 Beta1的几篇文章&#x…

亚马逊云科技在中国区域上线机器学习新服务,打造广泛而深入的人工智能与机器学习工具集
2021年5月11日,在完全托管的机器学习服务Amazon SageMaker落地中国区域一周年之际,亚马逊云科技宣布通过与光环新网和西云数据的紧密合作在中国区域进一步落地多项人工智能与机器学习的新服务和功能,丰富了其针对不同企业需求而打造的人工智能…

mysql ERROR 1045
2019独角兽企业重金招聘Python工程师标准>>> C:\Program Files\MySQL\MySQL Server 5.0\bin> mysql -u root -p Enter password: ERROR 1045 (28000): Access denied for user rootlocalhost (using password: YES) 编辑mysql配置文件my.ini(不知道在…

C#:将另一个应用程序的主窗口移至屏幕最前
2019独角兽企业重金招聘Python工程师标准>>> 使用WindowsAPI函数SwitchToThisWindow,可以将指定窗口移动到屏幕最前。 如果要将另一个应用程序的窗口移动到最前,只需要找到该窗口的句柄,再调用SwitchToThisWindow函数即可。可通过…