golang 使用 Redis 连接池

package cache import ( "3tee_admin/conf" "fmt" "time" "github.com/gomodule/redigo/redis" redigo "github.com/gomodule/redigo/redis" ) var redisPool * redis . Pool func init ( ) { redisPool = PoolInitRedis ( fmt . Spr

  • 0
  • 0
  • 阅读 ( 269 )

Redis数据同步

高可靠性 数据尽量少丢失,AOF(Append Only File)日志和RDB(Redis DataBase)快照机制保证这一点。 服务尽量少中断,Redis的做法是 增加副本冗余量 。 Redis 提供了主从库模式,以保证数据副本的一致,主从库之间采用的是 读写分离 的方式。 主从库间如何进行第一次同步 启动多个 Redis 实例的时候,它们相互之间就可以通过 replicaof(Redis 5.0 之前使用 slaveof)命令形成主库和从库的关系,之后会按照三个阶段完成数据的第一次同步。 例如,现

  • 0
  • 0
  • 阅读 ( 321 )

RedisTemplate调用increment报错问题

使用spring redis的increment方法时,报错:nested exception is redis.clients.jedis.exceptions.JedisDataException: ERR value is not an integer or out of range 一、INCRBY key increment INCRBY key increment介绍如下: 将 key 所储存的值加上增量 increment 。如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后

  • 0
  • 0
  • 阅读 ( 307 )

Redis - increment 递增方法 | 处理防重复和并发问题

Redis - increment 递增方法 | 处理防重复和并发问题 一、使用场景 1.有时因为网路原因,在保存或其他操作时会发生重复提交问题 2.针对秒杀、抢购、多个用户同时下单的情况(不过redis针对秒杀只是其中的一环) 二、incr 递增函数介绍 Redis Incr 命令将 key 中储存的数字值增一。 如果 key 不存在,那么 key 的值会先被初始化为 0 ,然后再执行 INCR 操作。 如果值包含错误的类型,或字符串类型的值不能表示为数字,那么返回一个错误。 本操作的值限制在 64 位

  • 0
  • 0
  • 阅读 ( 358 )

Redis线上间歇性查询慢原因及解决方案

场景:随着线上redis所存储的key值原来越多,偶尔会遇到某个查询耗时很长的问题,刚开始并没有重视,随着业务量的增加和某些人对redis操作不规范,导致线上查询慢的发生概率越来越高,所以领导就找我和运维的人一起查找此类问题和解决办法,也顺便记录一下排查过程。     排查如下: 1,慢查询。因为发生频率很高,跟着运维一起分析了慢查询日志,发现没有要查的那条耗时很长的记录,配置的慢查询为0.1毫秒,根据慢查询的原理,说明redis单线程处理此条记录时在内存执行时耗时没有超过0.1毫秒。 2,排队等待时间,

  • 0
  • 0
  • 阅读 ( 313 )

Redis 安装

Redis 安装 官网 wget https://download.redis.io/releases/redis-6.2.1.tar.gz tar xf redis-6.2.1.tar.gz make make install wget https://download.redis.io/releases/redis-6.2.1.tar.gz 下载 tar xf redis-6.2.1.tar.gz 解压 make 编译 yum install gcc 注 :如果报cc command not foun

  • 0
  • 0
  • 阅读 ( 268 )

【Redis】中的一些坑(三)——「数据持久化」篇

Redis 提供了 RDB 和 AOF 两种数据持久化方式,其中 RDB 是数据快照,而 AOF 会记录每一条写命令到日志文件中。 前文回顾: 【Redis】中的一些坑(一)——「常用命令」篇 【Redis】中的一些坑(二)——「主从复制」篇 文章目录 1 Master 宕机导致 Slave 数据丢失 2 AOF 的 everysec 阻塞主线程 3 AOF everysec 不只丢 1 秒数据 4 RDB 和 AOF rewrite 时 OOM 1 Master 宕机导致 Slave 数据丢失 如果 R

  • 0
  • 0
  • 阅读 ( 326 )

Redis主从结构数据同步分析

Redis主从结构有两种部署方式,如下:         一主多从的模式是使用最多的模式,通常搭建哨兵或者集群都采用这种方式,但是这种方式主节点复制压力较大,尤其是全量同步的时候。         级联结构使用情况相对较少,这种结构中间节点是从节点的同时,又是下级的父节点,缓解了主节点复制压力。         主从同步分为两种,一个是全量同步,一个是增量同步。 1、SYNC(全量同步)         从服务器向主服务器发送 sync 命令。         收到 sync 命令后,主服务器执行 bgs

  • 0
  • 0
  • 阅读 ( 415 )

Redis加减操作

操作命令 Incr——加 Decr——减 Incrby——阶梯加 Decrby——阶梯减 注意 必须是数字,才可以进行加减 加 减 阶梯加 阶梯减

  • 0
  • 0
  • 阅读 ( 319 )

深入理解Redis分布式锁

背景 项目中有个场景是做数据分析,然后将目标数据保存在db,有个要求是将同类型的目标数据值保存一次,因此每次保存时需要判断之前是否已经存在了,由于qps较高,之前使用redis来缓存已经保存的数据,来抵挡对db的大部分流量,最近业务拓展同类型目标数据的qps可能超大(极限时达到20Wqps以上),此时由于在分布式场景下redis查询未加锁,可能多个线程同时查询redis得到的结果为并未保存,此时问题发生了,可能同时有多个线程执行保存到db操作,虽然db做了unique Key的限制,但担心到db qps过

  • 0
  • 0
  • 阅读 ( 502 )

一文弄懂Redis慢查询

什么是Redis慢查询? redis的"慢查询"与redis定义慢查询的时间阈值有关,Redis提供了 slowlog-log-slower-than 和 slowlog-max-len 两个配置, slowlog-log-slower-than 指当redis命令的执行时间超过该值时,redis会将其记录在redis的慢查询日志中,slowlog-max-len表示记录的条数(超过时会只存储最新的slowlog-max-len条),slowlog-log-slower-than的默认值为

  • 0
  • 0
  • 阅读 ( 450 )

Redis之线程模型

Redis线程模型 redis 内部使用文件事件处理器 file event handler,这个文件事件处理器是单线程的,所以 redis 才叫做单线程的模型。 文件事件处理器的结构包含 4 个部分: 多个 socket IO 多路复用程序 文件事件分派器 事件处理器(包括:连接应答处理器、命令请求处理器、命令回复处理器) 多个 socket 可能会并发产生不同的操作,每个操作对应不同的文件事件,但是 IO 多路复用 程序会监听多个 socket,会将 socket 产生的事件放入队列中排队,事件分派器

  • 0
  • 0
  • 阅读 ( 489 )

Redis集群管理工具redis-trib

Redis3.0 及其之后的版本提供了 redis-cluster 集群支持,用于在多个redis节点间共享数据,以提高服务的可用性。构建 redis-cluster 集群可以通过 redis-trib.rb 工具来完成。redis-trib.rb 是redis官方提供的一个集群管理工具,集成在redis安装包的 src 目录下。redis-trib.rb 封装了redis提供的集群命令,使用简单、便捷。 一、搭建集群   (1)因为  redis-trib.rb  是由ruby语言编写的,所以使用该工具

  • 0
  • 0
  • 阅读 ( 587 )

二 Prometheus 监控 Redis

二 Prometheus 监控 Redis Prometheus 监控Redis需要用到redis_exporter客户端, Prometheus -> redis_exporter这个模式, 类似监控Mysql 一个思路. 1 ) 设置系统代理,golang有可能被墙,导致编译失败. # Enable the go modules feature export GO111MODULE = on # Set the GOPROXY environment variable export GOPROX

  • 0
  • 0
  • 阅读 ( 314 )

Redis学习笔记——Redis高级数据类型

三、 Redis高级数据类型 1、 Bitmaps 简介 现代计算机用二进制(位) 作为信息的基础单位, 1个字节等于8位, 例如“abc”字符串是由3个字节组成, 但实际在计算机存储时将其用二进制表示, “abc”分别对应的ASCII码分别是97、 98、 99, 对应的二进制分别是01100001、 01100010和01100011,如下图 合理地使用操作位能够有效地提高内存使用率和开发效率。 Redis提供了Bitmaps这个“数据类型”可以实现对位的操作: Bitmaps本身不是一种数据类型,

  • 0
  • 0
  • 阅读 ( 429 )

Docker安装mysql,redis,nginx

Docker安装mysql,redis,nginx,zookeeper,基于DockerDesktop 查看镜像 docker images 查看容器id docker ps - a 移除 // 容器id前三位就可以了 docker rm ‘ CONTAINER ID ’ // 移除镜像,id前三位就可以了 docker rmi 'image ID ' // 强制删除 docker rm - f 容器id 安装mysql // 要先创建文件夹,创建好挂载位置 // 1.创建挂载路径 mys

  • 0
  • 0
  • 阅读 ( 622 )

docker安装mysql + redis

本文转自: https://blog.csdn.net/r939126607/article/details/84703306?spm=1001.2014.3001.5502 建议docker先切换为国内的镜像源 安装mysql: 1、拉取镜像,创建容器 拉取镜像 : docker pull mysql 查看镜像是否下载完成 : docker images 创建容器  :docker run --name rjk-mysql -e MYSQL_ROOT_PASSWORD=1234 -p 3306:3306

  • 0
  • 0
  • 阅读 ( 314 )

Redis持久化机制

Redis持久化机制 全量同步与增量同步的区别 全量同步:就是每天定时(避开高峰期)或者采用一个周期实现将数据拷贝到一个地方也就是Rdb存储。 增量同步:比如采用对行为的操作实现对数据的同步,也就是AOF。 全量与增量的比较:增量同步比全量同步更加消耗服务器的内存,但是能够更加的保证数据的同步。 RDB与AOF实现持久化的区别 Redis提供了两种持久化的机制,分别为RDB、AOF实现,RDB采用定时(全量)持久化机制,但是服务器因为某种原因宕机后可能数据会丢失,AOF是基于数据日志操作实现的持久化,所以

  • 0
  • 0
  • 阅读 ( 217 )

简易实现Redis监控自动短信告警

如果没有企业短信网关,如何实现监控的自动短信告警呢? 1.开通QQ邮箱,并且绑定手机号。 设置之后,一旦QQ邮箱接收到新邮件,就会自动发送短信提醒。 http://jingyan.baidu.com/article/90808022a318b2fd91c80f9a.html 2.制作一个JAVA程序,可以接收请求,并将请求内容作为邮件发送到QQ邮箱。     3.在Redis服务器上进行脚本监控。如果监控超过阈值,则请求JAVA程序代发邮件。 # ! / bin / bash logfile = / ho

  • 0
  • 0
  • 阅读 ( 451 )

Redis中取得所有Key、过期时间配置与获取、Key过期通知。

string connection = " 127.0.0.1:6379,password=xxxxx,connectRetry=5 " ; [TestMethod] public void TestSet() { var mutlti = StackExchange.Redis.ConnectionMultiplexer.Connect(connection); var db = mutlti.GetDatabase( 0 ); db.HashSetAsync( " studen

  • 0
  • 0
  • 阅读 ( 473 )