【每日笔记】【Go学习笔记】2019-01-02 Codis笔记

栏目: 数据库 · 发布时间: 5年前

内容简介:作者:施洪宝

作者:施洪宝

一. go 基础

  1. go通过锁或者原子操作解决协程之间的竞争问题, 本文主要介绍锁
  2. go通过通道(有缓冲和无缓冲)解决协程之间的通信问题, 一个协程可能同时与多个其他协程通信, 此时可以通过select进行处理

1.1 锁

  1. mutex
  • mutex即是一般的互斥锁, 只有一个协程可以获取锁, 其他协程获取时会被阻塞
  1. rwmutex
  • rwmutex为读写锁, 某一时刻可能存在多个读锁或者一个写锁
  • lock可以获取写锁, 该调用会一直阻塞直到其他协程释放锁, 写锁的优先级高于读锁; unlock释放写锁
  • rlock获取读锁, 当只有读锁或者没有锁时可以成功获取锁, 否则被阻塞; runlock释放读锁

1.2 select

select{
 case communication clause:
 statement(s)
 case communication clause:
 statement(s)
 /* 可以定义任意多个case */
 /* default也可以不定义 */
 default:
 statement(s)
}
  • 每个case 必须是chan操作, 可以为读或者写
  • 如果只有一个case可以执行, 则执行该case
  • 如果有多个case可以执行, 伪随机一个case执行, 其他不执行
  • 没有case可以执行则执行default
  • 没有default并且没有case可以执行则一直阻塞, 直到某个case可以执行

二. Codis

  1. Codis的结构图如下(该图来源于 https://github.com/CodisLabs/...

【每日笔记】【Go学习笔记】2019-01-02 Codis笔记

  1. 从Codis结构图中可以看出以下几点
  • codis-group由多个codis-server(也就是redis-server)构成,每个codis-group中存在一个master服务器和任意多个slave服务器
  • codis-proxy与每个codis-group中的服务器建立连接,并且将自己注册到zookeeper(或者etcd等)中, 客户端从zookeeper中获取可用的codis-proxy, 并与其建立连接, 之后由codis-proxy负责处理客户端的请求
  • codis-dashboard为codis集群管理工具: 能够完成codis-proxy、codis-group、codis-server的增加以及删除; 数据在codis-group之间的迁移(也就是slot迁移)
  • codis-fe为集群管理页面

Codis自带的测试程序

  1. codis-fe默认监听的端口为9090
  2. codis-dashboard默认的监听端口为18080
  3. codis-proxy默认的监听端口为11080
  4. codis-server默认监听的端口为6379(也就是 redis 默认的监听端口)

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

精益数据分析

精益数据分析

[加] 阿利斯泰尔·克罗尔、[加] 本杰明·尤科维奇 / 韩知白、王鹤达 / 人民邮电出版社 / 2014-12 / 79.00元

本书展示了如何验证自己的设想、找到真正的客户、打造能赚钱的产品,以及提升企业知名度。30多个案例分析,全球100多位知名企业家的真知灼见,为你呈现来之不易、经过实践检验的创业心得和宝贵经验,值得每位创业家和企业家一读。 深入理解精益创业、数据分析基础,和数据驱动的思维模式 如何将六个典型的商业模式应用到各种规模的新企业 找到你的第一关键指标 确定底线,找到出发点 在大......一起来看看 《精益数据分析》 这本书的介绍吧!

SHA 加密
SHA 加密

SHA 加密工具

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具