分布式golang redis demo

Redis简介及详细安装教程(图文)

一、认识Redis redis诞生于2009年,全称是Remote Dictionary Server,远程字段服务器,是一个基于内存的键值对数据库。 特征: 键值(key)型,value支持多种不同的数据类型,功能丰富 单线程,每个命令具备原子性 低延迟,速度快(基于内存,IO多路复用,良好的编码 ......
图文 简介 教程 Redis

选举算法汇总(redis、zookeeper、kafka)

1.redis 哨兵(sentinel)模式 背景:哨兵模式,节点类型包括master、slave、和sentinel,master-slave节点和主从模式的作用是相同的;多了sentinel节点提高服务的可用性和稳定性 触发原因:master(简称A节点)节点异常,当一个sentinel发现A节 ......
算法 zookeeper redis kafka

Redis:如何实现一个互斥锁(Java)?

互斥锁是指同一时间只能有一个线程获取到的资源,其它线程需要等待。 原理 setnx keyName value,只有当keyName不存在时,才会写入成功,返回1。 实现 获取锁操作。 /** * 获取互斥锁:在redis中存入一个key-value,若存入成功,则获取锁成功,若存入失败,则获取锁失 ......
Redis Java

redis高级部分详解

redis高级部分详解 1.Redis特性 1.速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型 2.持久化:rdb和aof(持久化的方案) 3.多种数据结构: 5大数据结构(字符串,哈希,列表,集合,有序集合) BitMaps位图:布隆过滤器 本质是 字符串 Hyp ......
部分 redis

【Redis】Setninel 哨兵机制

一、sentinel 工作原理 在Redis2.6+引入哨兵机制,在2.8版本后趋于稳定状态,在生产环境中建议使用2.8版本以上的sentinel服务。sentinel集群用于监控redis集群中Master节点工作状态,在Master节点发生故障时,可以实现主从切换,保证系统的高可用。 哨兵(Se ......
哨兵 Setninel 机制 Redis

node可以用nvm快速切换版本,golang如何快速切换版本?用gvm就行。

使用 gvm 可以带来以下好处: 快速切换 Golang 版本,方便进行版本测试和开发; 可以在多个项目中同时使用不同版本的 Golang 包和工具,避免冲突; 可以通过 gvm 管理不同版本的 Golang,方便安装、卸载和更新; 可以自由选择 Golang 的镜像源,下载更快。 我使用的是win ......
版本 golang node gvm nvm

go项目中数据库连接,以及redis连接

文件:common/mysql.go 数据库连接文件 package common import ( "gorm.io/driver/mysql" "gorm.io/gorm" "gorm.io/gorm/schema" "log" ) var DB *gorm.DB //全局定义DB var db ......
数据库 项目 数据 redis

【Redis】面试题 GEO地理位置信息

面试 1 http协议详情,http协议版本,http一些请求头 -特点: 1 基于请求响应--》服务端不能主动给客户端推送消息 》websocket协议 2 无状态无连接 》不能做会话保持 》才出现了cookie,session,token 3 基于tcp之上的应用层协议 -详情: -请求协议: ......
地理位置 地理 位置 Redis 信息

redis----day03( )

面试 面试如何聊 # 第一面(笔试): -办公室做题:拍照,发群里 》自己课搜,同学帮着搜 》往上写 -问不答了,可以直接面试吗? # 第二面:正式面试(开启手机录音,放口袋中) -一个人,多个人坐你对面 -最重要的:自我介绍(自己提前写出来,500字,尽可能展现自己的优势) -面试官您好,我叫xx ......
redis day 03

centos9 redis安装报错(实在无解使用方法)

报错如下 [root@centos bin]# ./redis-server ./redis-server: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such fi ......
使用方法 centos9 方法 centos redis

900万大数据量 查询 更新 使用redis 多线程请求

表A中有900多万数据,根据900万数据,查询数据并插入B表 创建一个定时任务,定时查询配置条件,查询更新(查询更新使用多线程)预估时间,设置请求时间跟频率 不想这么干: 可以查看数据执行进度 思路: 设置一个运行队列 runList 里面是待执行的id 设置一个失败队列 failList 里面是执 ......
线程 数据 redis 900

Redis Pipeline(管道)

Redis Pipeline 简介 Redis是一种基于客户端-服务端模型以及请求/响应的TCP服务。一次Redis客户端发起的请求,经过服务端的响应后,大致会经历如下的步骤: 客户端发起一个(查询/插入)请求,并监听socket返回,通常情况都是阻塞模式等待Redis服务器的响应 服务端处理命令, ......
管道 Pipeline Redis

redis高级-day3——GEO地理位置信息

1 GEO地理位置信息 # GEO(地理信息定位):存储经纬度,计算两地距离,范围等 -根据经纬度 》确定具体地址的 》高德开放api 》返回具体地址 # redis 可以存储经纬度,存储后可以做运算, 比如:两个经纬度之间距离 (直线距离) 比如:统计某个经纬度范围内有哪些好友,餐馆 # 经纬度如 ......
地理位置 地理 位置 redis 信息

ASP.NET Core - 缓存之分布式缓存

分布式缓存是由多个应用服务器共享的缓存,通常作为访问它的应用服务器的外部服务进行维护。 分布式缓存可以提高 ASP.NET Core 应用的性能和可伸缩性,尤其是当应用由云服务或服务器场托管时。 与其他将缓存数据存储在单个应用服务器上的缓存方案相比,分布式缓存具有多个优势。 当分发缓存数据时,数据: ......
缓存 分布式 Core ASP NET

Golang 知识点

make 和 new 的区别: make 用于创建切片、映射和通道,返回的是创建类型的引用。 new 用于创建任意类型的指针,返回的是该类型的指针。 // make 用法示例 slice := make([]int, 5) // 创建一个包含5个元素的整型切片 // new 用法示例 var poi ......
知识点 知识 Golang

Redis持久化机制导致服务自启动后恢复数据过长无法使用以及如何关闭

场景 若依前后端分离版手把手教你本地搭建环境并运行项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662 在上面搭建前后端分离的项目后,如果需要在windows服务上进行部署。 若依前后端分离版本,Windows ......
机制 数据 Redis

Redis高可用搭建方案

本次使用redis版本为redis-5.0.14,下载地址http://redis.io/download 1、linux环境安装gcc yum install gcc 2、上传redis-5.0.14.tar.gz到usr/local文件夹下,解压 tar -zxf redis-5.0.14.ta ......
方案 Redis

由浅入深详解四种分布式锁

在多线程环境下,为了保证数据的线程安全,锁保证同一时刻,只有一个可以访问和更新共享数据。在单机系统我们可以使用synchronized锁或者Lock锁保证线程安全。synchronized锁是Java提供的一种内置锁,在单个JVM进程中提供线程之间的锁定机制,控制多线程并发。只适用于单机环境下的并发 ......
分布式

实现声明式锁,支持分布式锁自定义锁、SpEL和结合事务

工作中遇到事务一般使用声明式事务,一个注解@Transactional搞定。编程式事务则显得略繁琐。 @Autowired private PlatformTransactionManager transactionManager; public void service() throws Exce ......
分布式 事务 SpEL

【Redis 高可用】Sentinel

哨兵(Redis Sentinel) 简介 Redis Sentinel provides high availability for Redis when not using Redis Cluster. 当没有使用 Redis Cluster 时,Redis 哨兵(Sentinel)为 Redi ......
Sentinel Redis

Linux 虚拟机服务器安装 Redis (sentinel模式)

虚拟机服务器准备阶段 三台服Linux虚拟机IP分别为 192.168.192.133 (作为master节点) 192.168.192.129 (作为slave节点) 192.168.192.132 (作为slave节点) 我的三台虚拟机服务器版本均为centos7,且均为最小化安装,所以少很多软 ......
sentinel 模式 服务器 Linux Redis

枚举实现方式demo

class Program { static void Main(string[] args) { Console.WriteLine(INSTRUCTION_STATUS.新建); Console.ReadKey(); } } class INSTRUCTION_STATUS { public c ......
方式 demo

Redis高级 哈希类型、列表类型、集合类型、有序集合(zset)、慢查询、pipeline与事务、发布订阅、Bitmap位图、HyperLogLog

==哈希类型== ###1 hget,hset,hdel hget key field #获取hash key对应的field的value 时间复杂度为 o(1) hset key field value #设置hash key对应的field的value值 时间复杂度为 o(1) hdel key ......
类型 位图 HyperLogLog pipeline 事务

【Redis】哈希类型 列表类型 集合类型 有序集合 慢查询 pipeline与事务 发布订阅 Bitmap位图 HyperLogLog

昨日回顾 # 1 redis介绍 -特性 # 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型 # 持久化:rdb和aof # 多种数据结构: 5大数据结构 BitMaps位图:布隆过滤器 本质是 字符串 HyperLogLog:超小内存唯一值计数,12kb Hype ......
类型 位图 HyperLogLog pipeline 事务

golang 编译问题:gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[string]gorm.Stmt) as type map[string]*gorm.Stmt in struct literal

golang 执行 sh build 来编译项目时,发现了有报错 pkg/mod/gorm.io/plugin/dbresolver@v1.2.1/dbresolver.go:139:18: cannot use map[string]gorm.Stmt{} (value of type map[s ......
gorm string dbresolver Stmt map

redis02 哈希 列表 集合 有序 慢查询 pipeline与事务 发布订阅 Bitmap位图 HyperLogLog

今日内容详细 1 哈希类型 ###1 hget,hset,hdel hget key field #获取hash key对应的field的value 时间复杂度为 o(1) hset key field value #设置hash key对应的field的value值 时间复杂度为 o(1) hde ......
位图 HyperLogLog pipeline 事务 Bitmap

redis01 介绍 linux下安装 启动方式 通用命令 字符串命令

今日内容详细 1 redis介绍 # 特性 Redis特性(8个) # 速度快:10w ops(每秒10w读写),数据存在内存中,c语言实现,单线程模型 # 持久化:rdb和aof # 多种数据结构: 5大数据结构 BitMaps位图:布隆过滤器 本质是 字符串 HyperLogLog:超小内存唯一 ......
命令 字符串 字符 方式 redis

Redis---主从复制

一、redis主从复制 主从复制:是存储数据的服务结构 主服务器:接受客户端连接的服务器 从服务器:自动与主服务器保持数据一致的服务器 配置主从复制 1、环境准备 主服务器 主机名:master IP地址:192.168.11.101/24 从服务器 主机名:node01 IP地址:192.168. ......
主从 Redis

Redis 一、(简介,redis-linux下载,启动方式,常用配置,应用场景,数据结构和内部编码,字符类型)

Redis 一、Redis 1、简介 # Redis特性 1)速度快 10w ops(每秒10万读写),数据存在内存中,C语言实现,单线程模型 2)持久化 RBD AOF 3)多种数据结构 - 字符、哈希、列表、有序集合、集合 - bitMaps位图:布隆过滤器 本质是字符串 - HyperLogL ......