一、redis cluster 介绍自动将数据进行分片,每个 master 上放一部分数据提供内置的高可用支持,部分 master 不可用时,还是可以继续工作的redis cluster架构下的每个redis都要开放两个端口号,比如一个是6379,另一个就是加1w的端口号16379。6379端口号就是redis服务器入口。16379端口号是用来进行节点间通信的,也就是 cluster bus 的东
转载 2023-09-01 07:02:11
2阅读
原文链接如何在 Golang 中使用 Redis 订阅/发布订阅,取消订阅和发布实现了发布/订阅消息范式(引自wikipedia),发送者(发布者)不是计划发送消息给特定的接收者(订阅者)。而是发布的消息分到不同的频道,不需要知道什么样的订阅者订阅。订阅者对一个或多个频道感兴趣,只需接收感兴趣的消息,不需要知道什么样的发布者发布的。这种发布者和订阅者的解耦合可以带来更大的扩展性和更加动态的网络拓扑
转载 2023-06-01 14:48:01
377阅读
1.LRULRU(Least Recently Used,最近最久未使用算法)是一种常见的缓存淘汰算法,当缓存满时,淘汰最近最久未使用的元素,在很多分布式缓存系统(如Redis, Memcached)中都有广泛使用。其基本思想是如果一个数据在最近一段时间没有被访问到,那么可以认为在将来它被访问的可能性也很小。因此,当缓存满时,最久未被访问的数据最先被淘汰。具体做法是将最近使用的元素存放到靠近缓存顶
转载 2024-01-31 01:41:29
67阅读
反射反射优点: 让代码更灵活缺点: 运行效率低反射应用各种 web框架, 配置文件解析库,ORM框架反射是指在程序运行期对程序本身进行访问和修改的能力。程序在编译时,变量被转换为内存地址,变量名不会被编译器写入到可执行部分。 在运行程序时,程序无法获取自身的信息。支持反射的语言可以在程序编译期将变量的反射信息,如字段名称、类型信息、结构体信息等整合到可执行文件中,并给程序提供接口访问反 射信息,这
转载 2024-05-22 13:17:56
86阅读
pipeline pipeline 是你可以用来在系统中形成抽象的另一种工具。特别是当程序需要流式处理 或批处理数据时,它是一个非常强大的工具。 pipeline 只不过是一系列将数据输入, 执行操作并将结果数据传回的系统。 将这些操作称为 pipeline 的一个 stage. 通过使用pipeline, 可以分离每个stage的关注点, 这提供了很多好处。如可以可以相互独立地修改各个stag
转载 2024-02-27 09:14:45
39阅读
Redis介绍Redis是一个开源的内存数据库,Redis提供了多种不同类型的数据结构,很多业务场景下的问题都可以很自然地映射到这些数据结构上。 除此之外,通过复制、持久化和客户端分片等特性,我们可以很方便地将Redis扩展成一个能够包含数百GB数据、每秒处理上百万次请求的系统Redis支持的数据结构Redis支持诸如字符串(strings)、哈希(hashes)、列表(lists)、集合(set
转载 2024-06-06 14:52:41
62阅读
# Golang 集成 Python:新手指南 在软件开发中,时常会遇到需要用到多种语言的情况。比如有时我们会希望将 Go 语言(Golang)与 Python 结合使用,以充分利用两者的优势。本文将为你详细介绍如何在 Go 中实现对 Python 的集成。我们将使用 `go-python` 包来实现这种集成。 ## 流程概述 为了实现 Golang 和 Python 的集成,我们可以遵循以
原创 9月前
43阅读
Golang文件 目录操作 Golang文件 目录操作模式含义os.O_WRONLY只写os.O_CREATE创建文件os.O_RDONLY只读os.O_RDWR读写os.O_TRUNC清空os.O_APPEND追加perm:文件权限,一个八进制数,r(读)04,w(写)02,x(执行)01.package main import ( "fmt"
http://general.blog.51cto.com/927298/294928http://general.blog.51cto.com/927298/294931====================================一 Gstreamer简介是一个框架,灵活轻便。第一部分基本没有难度,只要能看懂英文。从我目前接触的感觉上看,Gstreamer确实简化了动态 库
转载 2024-04-23 13:59:29
237阅读
1. 安装第三方开源Redis库1)使用第三方开源的Redis库:github.com/garyburd/redigo/redis2)在使用Redis前,先安装第三方Redis库,在GOPATH路径下执行安装指令:GOPATH>go get github.com/garyburd/redigo/redis3)安装成功后,可以看到如下包特别说明:在按照Redis库之前,需要安装并配置Git,因
转载 2023-07-12 00:17:39
182阅读
1.6搭建主从 主从概念 a) ⼀个master可以拥有多个slave,⼀个slave⼜可以拥有多个slave,如此下去,形成了强⼤的多级服务器集群架构 b) master用来写数据,slave用来读数据,经统计:网站的读写比率是10:1 c) 通过主从配置可以实现读写分离 d) master和slave都是一个redis实例 主从配置 配置主 a) 查看当前主机的ip地址 Ifconfig b)
1. redis简单介绍redis支持数据的持久化,将内存中的数据保存到磁盘中,重启的时候可以再次加载进行使用 redis不仅仅支持key-value数据,还支持:string,list,set,hash等 redis支持数据备份,即master-slaver模式的数据备份 读11w/s,写8W/s,单机能达到15W qps,性能极高,非常适合做缓存 redis的所有操作都是原子性的,单个操作是
安装 下载第三方包: go get -u github.com/go-redis/redis/v9 连接 // 定义一个rdis客户端 var redisdb *redis.Client // 初始化 func initClient() (err error) { redisdb = redis.N ...
转载 2021-08-19 17:09:00
402阅读
2评论
## 实现“golang redis”流程 下面是实现“golang redis”所需的步骤表格,这将帮助你快速了解整个过程: | 步骤 | 描述 | | --- | --- | | 步骤1 | 引入redis库 | | 步骤2 | 建立与Redis服务器的连接 | | 步骤3 | 执行Redis操作(设置、获取数据等) | | 步骤4 | 关闭与Redis服务器的连接 | 下面是每个步骤需
原创 2023-07-26 23:28:29
30阅读
背景:redis集群执行lua脚本时不同于单机情况,lua脚本在执行时需要确保key在同一个node节点上,换句话说也就是需要保证 slot=crc16%16384,通过对key进行hash运算,其slot会分布在同一个node节点所属范围。解决思路:为了使key都落在一个node节点上可以通过添加 {} hashTag来实现。原理:相同的hashtag被分配到相同的节点,相同的槽。 hash算法
转载 2023-05-25 11:22:06
224阅读
1.使用第三方开源的redis库:github.com/garyburd/redigo/redis 2.在使用之前,先安装第三方Redis库,在GOPATH下执行(需要已安装Git):go get github.com/garyburd/redigo/redis3.安装成功后,可以在GOPATH/src/下产生一个github.com的包:4.通过go向redis写入数据和读取数据先运行redis
转载 2023-07-15 03:07:45
119阅读
目录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
Go 基于 Redis + Lua 实现分布式限流器限流算法在分布式系统设计中有广泛的应用,特别是在系统的处理能力有限的时候,通过一种有效的手段阻止限制范围外的请求继续对系统造成压力,避免系统被压垮,值得开发工程师们去思考。实际生活中,限流器算法通常作为限制用户行为的一种方式之一。比如最近我在某东抢 PS5,开始购买的一瞬间就没了,肯定是有些用户使用了脚本去抢(黑产!),导致我们用手的人很难抢到。
转载 2023-05-29 15:56:00
285阅读
了解golang接口模式/* 定义接口 */ type interface_name interface { method_name1 [return_type] method_name2 [return_type] method_name3 [return_type] ... method_namen [return_type] } /* 定义结构体 */ typ
转载 2024-03-04 10:41:25
31阅读
01介绍在之前的文章介绍过 Golang 操作 Redis 的三方库 go-redis,本文主要介绍另外一个 Golang 操作 Redis 的三方库 redigo,它是 Golang 官方推荐使用的 Redis 客户端。go-redis 三方库为我们封装了很多函数来执行 Redis 命令,而 redigo 三方库只有一个 Do 函数执行 Redis 命令,更接近使用 redis-cli 操作 R
转载 2023-07-11 22:18:34
230阅读
  • 1
  • 2
  • 3
  • 4
  • 5