缓存
木讷大叔爱运维
对的那条路,往往不是最好走的!
展开
-
redis初探
1.基本概念redis和memcached一样,也是一个key-value存储系统,支持的存储value类型更多,包括string(字符串),list(链表),set(集合),zset(有序集合)和hash(哈希);它和memcached一样,数据都是换存在内存中,区别是redis会周期的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave原创 2015-04-09 17:22:43 · 688 阅读 · 0 评论 -
redis sentinel实战
知识点准备在部署redis sentinel之前,我需要了解以下几点: 1.官方文档推荐redis sentinel部署最少使用3个sentinel节点,究其原因主要有两点: (1)在多节点sentinel运行时,只有当达到quorum设置的参数时,master才会被认为odown(客观下线),但此时并不会出发故障迁移; (2)在故障迁移前,需要经过大多数的sentinel选举出一个leade原创 2017-10-27 14:37:24 · 611 阅读 · 0 评论 -
codis dashboard无法启动
机房电源模块故障,导致部分服务器停电,很不幸我们的机柜就在这批服务器中。待服务器启动后,我们需要手动启动codis服务。 codis启动顺序如下:1.先启动dashboard2.启动redis3.启动proxy4.上线proxybash /usr/local/codis/scripts/start_dashboard.sh执行命令后,提示dashboard已经启动,但是其端口18087没有启原创 2017-08-17 09:10:22 · 2615 阅读 · 0 评论 -
codis迁移引发的问题
首先介绍下codis的迁移: codis将所有的数据预分配为1024个slot,做一次典型的数据迁移,其最小单位就是一个slot,其流程大致是这样的(以下文字主要来自Codis作者huangdongxu的博客):由dashboard通过ZK向所有proxy下发一个pre_migrate命令,如pre_migrate slot_1 to group 2.当所有proxy都收到并且回复了pre_mi原创 2016-10-12 10:35:27 · 4732 阅读 · 0 评论 -
codis扩容报错:[error] READONLY You can't write against a read only slave
现象:最近在做codis在线扩容时,添加多组group,每个group添加一个redis作为master,当进行auto balance或手动迁移slot时,发现要迁移的slot的状态处于error状态,并且一直阻塞后面要迁移的slot,最终导致proxy挂掉,无法对外提供服务。查看dashboard日志报错“[error] READONLY You can't write against a原创 2015-09-18 09:58:27 · 28580 阅读 · 0 评论 -
codis的proxy层HA
codis中“Could not get a resource from the pool ”解决方案原创 2015-07-28 09:34:31 · 5207 阅读 · 2 评论 -
redis的分布式解决方案--codis
codis是豌豆荚开源的分布式服务器,目前处于稳定阶段。原文地址:https://github.com/wandoulabs/codis/blob/master/doc/tutorial_zh.mdCodis 是一个分布式 Redis 解决方案, 对于上层的应用来说, 连接到 Codis Proxy 和连接原生的 Redis Server 没有明显的区别 (不支持的命令列表), 上层应用可原创 2015-07-10 11:42:56 · 9547 阅读 · 8 评论 -
利用magent搭建memcached集群
memcached虽然能够通过分布式缓存,实现其中memcached宕掉不会丢失全部缓存数据,但部分数据还是难逃一劫。我们可以利用magent代理memcached实现主从备份来保证缓存数据完好无损,而且magent还可以作为从继续使用,但大体工作原理如下:1.magent每次写数据都会写到主memcached和从memcached上,并且向主从memcached写的算法一样;2.当主原创 2015-06-10 17:46:29 · 2719 阅读 · 0 评论 -
nf_conntrack: table full, dropping packet解决方法
在添加magent代理后,做memcached测试的发现,如果并发很高,数据库的连接数居高不下,按理讲随着将key存入缓存中,连接数应该慢慢降下来才对,但是当并发低的时候却很正常。由于在启动memcached时,加入了-vvv参数打印内部状态信息,查看日志:29: going from conn_parse_cmd to conn_write29: going from conn_wri原创 2015-05-21 09:16:28 · 14036 阅读 · 0 评论 -
ansible-playbook实战之部署redis+sentinel+twemproxy
简介twemproxy,也叫nutcraker。是一个twtter开源的一个redis 和memcache 快速/轻量级代理服务器;Twemproxy是一个快速的单线程代理程序,支持Memcached ASCII协议和更新的Redis协议 Twemproxy 通过引入一个代理层,可以将其后端的多台 Redis 或 Memcached 实例进行统一管理与分配,使应用程序只需要在 Twemproxy原创 2017-12-21 17:52:45 · 2314 阅读 · 0 评论