Twemproxy

memcached/Redis 代理
授权协议 Apache
开发语言 C/C++
所属分类 服务器软件、 缓存服务器
软件类型 开源软件
地区 不详
投 递 者 洪照
操作系统 Linux
开源组织 Twitter
适用人群 未知
 软件概览

Twemproxy 是一个快速的单线程代理程序,支持 Memcached ASCII协议和更新的Redis协议。它全部用C写成,使用Apache 2.0 License授权。项目在Linux上可以工作,而在OSX上无法编译,因为它依赖了epoll API.

特性:

  • 速度快

  • 轻量级

  • 维护持久的服务器连接

  • Keeps connection count on the backend caching servers low.

  • 启用请求和响应的管道

  • 支持代理到多个服务器

  • 同时支持多个服务器池

  • 多个服务器自动分享数据

  • 实现了完整的 memcached asciiredis 协议.

  • 服务器池配置简单,通过一个 YAML 文件即可

  • Supports multiple hashing modes including consistent hashing and distribution.

  • 可配置在失败时禁用某个节点

  • Observability through stats exposed on stats monitoring port.

  • 支持 Linux, *BSD, OS X and Solaris (SmartOS)

Twenproxy

    •   在redis2.x版本,redis本身是不支持分布式的,只能通过第三方组件来实现集群分布式。这里来介绍下twitter的twemproxy的安装使用。关于twemproxy的具体描述这里不再进行叙述。需要注意的是,twemproxy不是对数据进行冗余集群的,而是对数据进行分片,即根据相关算法将不同key的值尽量均匀分发到各个机器上。   1、下载nutcracker,下载地址:https://

    • Twemproxy 概述       Twemproxy(又称为nutcracker)是一个轻量级的Redis和Memcached代理,主要用来减少对后端缓存服务器的连接数。Twemproxy是由Twitter开源出来的缓存服务器集群管理工具,主要用来弥补Redis/Memcached 对集群(cluster)管理的不足。 antirez(Redis作者)写过一篇对twemproxy的介绍,他认为

    • eshop-detail-test:   listen: 127.0.0.1:1111   hash: fnv1a_64   distribution: ketama   timeout:1000   redis: true   servers:     - 127.0.0.1:6379:1 test-redis-01     - 127.0.0.1:6380:1 test-redis-02 es

    • https://github.com/twitter/twemproxy $ git clone git@github.com:twitter/twemproxy.git $ cd twemproxy $ autoreconf -fvi $ ./configure --enable-debug=full $ make $ src/nutcracker -h 开启service nutcracker

     相关资料
    • Redis代理的配置参考。 filter.network.RedisProxy filter.network.RedisProxy.ConnPoolSettings filter.network.RedisProxy filter.network.RedisProxy proto { "stat_prefix": "...", "cluster": "...", "settings":

    • Redis代理配置参考。 { "name": "redis_proxy", "config": { "cluster_name": "...", "conn_pool": "{...}", "stat_prefix": "..." } } cluster_name (required, string) 对应集群管理器的集群名称。有关群集的配置建议,请参阅架构概

    • Redis架构概述 v1 API 参考 v2 API 参考 统计 配置Redis代理筛选器的统计信息,均以redis.<stat_prefix>.为前缀。统计如下: 名称 类型 描述 downstream_cx_active Gauge 总活动连接 downstream_cx_protocol_error Counter 总协议错误 downstream_cx_rx_bytes_buffered

    • 问题内容: 我想将JSON有效负载存储到Redis中。我确实有2种方法可以做到这一点: 一种使用简单的字符串键和值。 键:用户,值:有效载荷(整个JSON Blob,可以为100-200 KB) 使用哈希 请记住,如果使用散列,则值长度是不可预测的。它们并不都是短的,例如上面的bio示例。 哪个内存效率更高?使用字符串键和值,还是使用哈希? 问题答案: 这取决于您如何访问数据: 选择选项1: 如果

    • 问题内容: 一个简单的问题,我可以想象将redis代替mysql用于各种Web应用程序:社交网络,地理位置服务等吗? 问题答案: IT中没有什么是不可能的。但是有些事情可能变得极其复杂。 对于诸如全文搜索之类的东西使用键值存储可能会非常痛苦。 而且,据我所知,它缺乏对大型集群数据库的支持:因此在MySQL上,如果数据库中的Gb增长超过100 Gb,则没有问题;在Redis上,…这将需要更多的努力:

    • 本文向大家介绍session 加入redis的实现代码,包括了session 加入redis的实现代码的使用技巧和注意事项,需要的朋友参考一下 Session信息入redis Session简介 session,中文经常翻译为会话,其本来的含义是 指有始有终的一系列动作/消息,比如打电话时从拿起电话拨号到挂断电话这中间的一系列过程可以称之为一个session。有时候我们可以看到这样的话“在 一个浏

    • 问题内容: 给出类似的东西: 如何测试执行时它将针对通道上收到的每条消息运行? 问题答案: 您拥有的这段代码不是很容易测试。首先,绝对要摆脱这个全局变量。相反,在构造函数中接受redis实例。 然后在测试中,您可以制作一个完全可以控制但与您使用的api一致的虚拟redis。遵循以下原则: 这种很酷的技术称为“依赖注入”(或者像某些人所说的那样,“将参数传递给构造函数”)。

    • 设置Redis链接信息 修改Config.php的User config,加入以下信息 "REDIS"=>array( "HOST"=>'ip', "PORT"=>port, "AUTH"=>'password' ) Redis class namespace AppVendorDb; use ConfConfig; class