Golang教程网
Golang教程网
  • 博客首页
  • 实战学习Golang
  • 日常工作实战
  • 小程序实战开发
    • 微信小程序开发
    • 百度智能小程序开发
    • QQ小程序开发
    • 头条小程序开发
    • 支付宝小程序开发
  • 学习笔记
  • 搜索
Golang基于redis实现的分布式信号量(semaphore)
发表于 2023-08-25

链接:http://xiaorui.cc/?p=4822 共 18425分钟 前言 Semaphore是信号量,作用? 我想大家都知道。semaphore跟mutex的区别我想大家也知道了,我这里就不老生常谈,重复讲解了,有兴趣的朋友可以自行google相关的同步锁文章。 像semaphore,mutex 可以支持多线程,也可以是多进程。但如果是在分布式集群环境想实现类似

Redis SETNX命令实现分布式锁
发表于 2023-08-25

Redis SETNX命令实现分布式锁 分布式锁概念 分布式锁 :是指分布式环境下,系统集群部署,实现多进程分布式互斥的一种锁。为了保证多个进程能看到锁,锁被存在公共存储(比如 Redis、Memcache、数据库等三方存储中),以实现多个进程并发访问同一个临界资源,同一时刻只有一个进程可访问共享资源,确保数据的一致性。 相对应的还有本地锁:进程锁 具有局限性

【Go】使用lua脚本实现redis分布式锁
发表于 2023-08-25

分布式锁的要求 实现分布式锁之前要明确一下分布式锁的要求 互斥性,在任意时刻,只能有一个进程持有锁防死锁,不能因为持有锁的客户端宕机而使其他进程无法获取到锁。加锁和解锁的必须是同一个进程。保证锁的续租。 redis分布式锁的优缺点 redis实现的分布式锁性能会比zookeeper、etcd等实现的要好,但因为单点故障或者主备异步复制的问题

redis分布式锁与redsync库源码分析
发表于 2023-08-25

1.为什么需要redis分布式锁? 世界服无状态服务器,玩家数据处理过程不一定落地到哪个节点的协程,这时候为了保证数据的一致性,就需要有redis分布式锁来锁定数据,保证同个数据只能在一个协程处理 实现分布式锁要满足3点:多进程可见,互斥,可重入。 1 多进程可见:所有操作数据的节点进程都能连接锁对应的redis集群; 2 互斥:各个进程之间持有锁是互斥的

在知乎学Golang分布式中间件(mysql)
发表于 2023-08-25

一,OLTP,OLAP,体系结构Golang是一种编程语言,可以用于开发OLTP和OLAP系统。OLTP(联机事务处理)系统是面向业务应用的,通常处理交易数据。它的目标是高吞吐量、低延迟、并发操作和数据完整性。在这种情况下,使用Golang可以提供高效率和可靠性。对于OLAP(联机分析处理)系统,其目标是支持复杂的查询和分析操作,并且需要快速响应大量的数据请求

golang连接操作mysql
发表于 2023-08-25

golang操作mysql package main import ( "database/sql" "fmt" "time" _ "github.com/go-sql-driver/mysql" ) //定义一个全局db对象 var db *sql.DB func initDB() (err error) { dsn := "user:password@tcp(172.xxx.102

Golang:go连接和使用mysql
发表于 2023-08-25

package main import ( "database/sql" _ "github.com/go-sql-driver/mysql" ) func main() { db, err := sql.Open("mysql", "root:@tcp(localhost:3306)/ceshi") if err != nil { panic(err.Error()) } //

mysql连接池 golang
发表于 2023-08-25

问题引入作为一名Golang开发者,线上环境遇到过好几次连接数暴增问题(mysql/redis/kafka等)。纠其原因,Golang作为常驻进程,请求第三方服务或者资源完毕后,需要手动关闭连接,否则连接会一直存在。而很多时候,开发者不一定记得关闭这个连接。这样是不是很麻烦?于是有了连接池。顾名思义,连接池就是管理连接的;我们从连接池获取连接,请求完毕后再将连接还给连接池

在golang中操作mysql数据库(2)实现查询数据操作
发表于 2023-08-25

**遍历查询数据方法** ```go package main import ( "fmt" "database/sql" //导入mysql的驱动 _ "github.com/go-sql-driver/mysql" ) func main(){ //使用database/sql包中的Open连接数据库 db,err := sql.Open("mysql","root

Mysql数据实时增量同步工具之go
发表于 2023-08-25

技术选型:Mysql8 + go-mysql-transfer + ElasticSearch7.13 简介 go-mysql-transfer是一款MySQL数据库实时增量同步工具。需要GO环境 能够监听MySQL二进制日志(Binlog)的变动,将变更内容形成指定格式的消息,实时发送到接收端。从而在数据库和接收端之间形成一个高性能、低延迟的增量数据同步更新管道。

第一页 上一页 1 ... 997 998 999 1000 下一页 尾页
友情链接: 免费取名网 安企CMS 商家收款码申请 AI学习网 Hello Web3
© 2026 Golang教程网, Created By 安企内容管理系统(AnqiCMS)