最近一直用的golang,然后写pat1015德才论的时候出了问题,运行超时,不是说golang速度还可以吗。 于是从网上找了同样的c++做了一下比较,发现同样的数据(10万行,一行3个整数),c++几十毫秒就完成,golang要十几秒,这也差距太大了吧。输出运行时间后,发现是输入输出有问题。网上查了一圈,原来是标准的fmt包没有缓存,然后速度就很慢。 找了几个改进的方法。Scanner这个最快的
转载 2023-08-23 14:39:43
132阅读
前言https://github.com/k-si/Janneygroupcache的思想cache通过内存加速数据访问,如果访问的数据不在缓存中,那么就需要去别处获取该数据,方式一般有从本地数据获取,或是请求远程节点,从别的节点去拿数据。groupcache本身想要的是每个节点存储专门的数据,比如对于一个指定的key,每次访问这个分布式集群,我都想让key的请求打到唯一的一台机器上,单个的节点
文章目录是什么项目结构设计原理关键数据结构CacheItemCacheTablecache.go例子 是什么带有时效性的单机缓存项目结构项目地址:https://github.com/muesli/cache2go设计原理关键数据结构CacheItem:缓存表中的条目CacheTable :缓存表CacheItem没什么好看的,除了需要注意一下cacheItem的结构之外import ( "sy
转载 2024-06-23 06:40:37
25阅读
bufio 包实现了缓存IO。它包装了 io.Reader 和 io.Writer 对象,创建了另外的Reader和Writer对象,它们也实现了 io.Reader 和 io.
原创 2023-12-07 09:41:33
217阅读
简述:go-cache 是一个基于内存的、高速的,存储k-v格式的缓存工具。它适用于运行在单台机器上的应用程序,可以存储任何数据类型的值,并可以被多个goroutine安全地使用。 go-cache 不打算用作持久数据存储,但是可以将整个缓存数据保存到文件(或任何io.Reader/Writer)中,并且能快速从中指定数据源加载,快速恢复状态。 大家可以去看看go-cache的源码,提供了很多设置
转载 2024-01-15 20:57:50
116阅读
学习VictoriaMetrics源码的时候发现,VictoriaMetrics的缓存部分,使用了同一产品下的fastcache。下面分享阅读fastcache源码的的结论:1.官方介绍fastcache是一个用go语言实现的,很快的,线程安全的,内存缓存的,用于大量对象缓存的组件。它的特点是:快!CPU核越多越快,不信你看我下面的benchmark。线程安全。多个协程可以同时读写单个cache实
目录1. Redis:1.1 简介:1.2 连接redis1.3 常用api:1.3 连接池:1.4 项目中使用: 1. Redis:1.1 简介:  garyburd/redigo 包是网上很多博文都在推荐使用的一个高Star的Redis连接包,项目已经迁移到了gomodule/redigo,同时包的获取也理所当然地改成了go get github.com/gomodule/redigo/re
需求最近在弄一个游戏的gate网关转发服务器,服务器之间使用的是nats通讯,gate的作用是接收客户端发来的消息转发到对应的服务器上,并从nats上获取游戏服务器发送给客户端的消息并转发给客户端。前面接收还好处理,因为都是发布订阅模式的消息,收到消息直接向nats上扔就行了。但转发服务器来的消息就不一样了,从nats上取的速度远大于gate转发给客户端的速度,会有数据囤积在nats中。为了解决这
原创 2024-08-27 10:06:22
48阅读
需求最近在弄一个游戏的gate网关转发服务器,服务器之间使用的是nats通讯,gate的作用是接收客户端发来的消息转发到对应的服务器上,并从nats上获取游戏服务器发送给客户端的消息并转发给客户端。前面接收还好处理,因为都是发布订阅模式的消息,收到消息直接向nats上扔就行了。但转发服务器来的消息就不一样了,从nats上取的速度远大于gate转发给客户端的速度,会有数据囤积在nats中。为了解决这
原创 精选 7月前
179阅读
一.前言Redis是一种高性能的Key-Value数据1.Redis特性Redis 与其他 key - value 缓存产品有以下三个特点:Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。Redis支持数据的备份,即master-sl
转载 2023-08-18 18:50:08
209阅读
我们开发程序后,如果有一些问题需要对程序进行调试的时候,日志是必不可少的,这是我们分析程序问题常用的手段。日志使用日志分析,就是根据输出的日志信息,分析挖掘可能的问题,我们使用fmt.Println系列函数也可以达到目的,因为它们也可以把我们需要的信息输出到终端或者其他文件中。不过fmt.Println系列函数输出的系统比较简单,比如没有时间,也没有源代码的行数等,对于我们排查问题,缺少了很多信息
转载 2024-06-12 22:12:57
35阅读
gse是什么?Go高性能多语言NLP和分词库, 支持英文、中文、日文等, 支持接入 elasticsearch 和 bleve Gse是结巴分词(jieba)的golang实现,并尝试添加NLP功能和更多属性特征支持普通、搜索引擎、全模式、精确模式和 HMM 模式多种分词模式支持自定义词典、embed 词典、词性标注、停用词、整理分析分词多语言支持: 英文, 中文, 日文等支持繁体字NLP 和 T
转载 2023-09-01 06:59:57
672阅读
cache2go 介绍 开源的应用内缓存,保证并发安全,提供 key-value 存储以及带过期时间控制。 key 与 value 可以是任意数据类型。主要 API 说明Cache(): 返回已经存在的给定名称的缓存表,类型为 *CacheTable ,如果不存在,则创建一个新的缓存表。Add(): 向缓存表添加新的 key/value 对。可以同时指定该 key 的过期时间。如果为 0,则表示
Aninmemorykey:valuestore/cache(similartoMemcached)libraryforGo,suitableforsinglemachineapplications.译文:Go的内存key:valuestore/cache(类似于Memcached),适用于单机应用程序。文档https://pkg.go.dev/github.com/patrickmn/goca
原创 精选 2022-10-18 09:40:13
759阅读
An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications.译文:Go的内存 key:value store/cache(类似于Memcached),适用于单机应用程序。文档​​https://pkg.go.dev/github
原创 2022-10-22 00:57:29
787阅读
探索Go42:一个强大而简洁的Golang工具项目地址:://gitcode./ffhelicopter/Go42项目简介Go42是一个由开发者ffhelicopter创建并维护的Golang工具。它致力于提供一系列实用的功能和模块,帮助程序员在进行Go语言开发时提高效率,简化代码。无论你是Go新手还是经验丰富的老手,Go42都能为你的项目增添便利。技术分析Go42的核心价值在
转载 2024-06-28 08:46:11
7阅读
golang操作mysql首先安装mysql安装完成后,为了能够使得golang使用mysql 我们需要导入一个包,这个包可以在golang.org官网中找到,具体链接为https://pkg.go.dev/github.com/go-sql-driver/mysql#section-readme包的指令为$ go get -u github.com/go-sql-driver/mysql 当我们
转载 2023-09-19 04:01:43
74阅读
GoLang之方法与接口 Go语言没有沿袭传统面向对象编程中的诸多概念,比如继承、虚函数、构造函数和析构函数、隐藏的this指针等。 方法Go 语言中同时有函数和方法。方法就是一个包含了接受者(receiver)的函数,receiver可以是内置类型或者结构体类型的一个值或者是一个指针。所有给定类型的方法属于该类型的方法集。如下面的这个例子,定义了一个新类型Integer,它和
转载 2023-10-08 11:20:53
244阅读
上篇文章完成了本机registry私有仓库的镜像拉取部署(主要是Jenkins主动扫描gitlab,被动触发,间隔一分钟。)本章内容1.gitlab自动实时触发jenkins(添加gitlab插件) 搜索插件gitlab,点击直接安装外发请求 允许来自钩子和服务的对本地网络的请求。 允许Webhook和服务对本地网络的请求 允许系统钩子向本地网络发送的请求 更改demo的构建参数更改文件权限 [r
转载 2024-03-16 01:15:41
44阅读
前言Golang 提供了database/sql包用于对SQL数据的访问, 作为操作数据的入口对象sql.DB, 主要为我们提供了两个重要的功能:sql.DB 通过数据驱动为我们提供管理底层数据连接的打开和关闭操作.sql.DB 为我们管理数据连接池需要注意的是,sql.DB表示操作数据的抽象访问接口,而非一个数据连接对象;它可以根据driver打开关闭数据连接,管理连接池。正在使
转载 2023-07-14 17:46:37
19阅读
  • 1
  • 2
  • 3
  • 4
  • 5