protected redis mode is
如何用Redis构建分布式锁系统?
对常见的加锁场景的归纳,只涉及到了JVM的api锁和redis的分布式锁。其实也可以用zookeeper或者mysql,其他的以后在分享吧,其实最完美的还是老外那套saga状态机 解决分布式事务比较完美,缺点就是难度很大要用到领域驱动的思想,国内普遍用的贫血模型,切换到DDD还是需要些时间研究的,对 ......
TiDB故障处理之让人迷惑的Region is Unavailable
背景 最近某集群扩容了一批物理机,其中 TiKV 节点有6台机器12个实例,同时调整了 label 设置增加了一层机柜级容灾。因为前期做了比较充分的准备工作,到了变更窗口只等着执行scale-out就行,操作过程也很顺利,很快就把所有节点都扩进去了,检查完各实例的运行状态,确保region已经开始正 ......
Failed to convert value of type 'java.lang.String' to required type 'java.lang.Long'; nested exception is java.lang.NumberFormatException: For input string: "getSysTenantNames"
我测试的是一个接口 接口里面没有任何参数 怎么会报参数类型转换错误呢 mad !!!!! 第二个接口 就很蒙 测了好久都是这个问题 而且你打debug 它不进这个接口并且 你执行其他写好的接口 它还是会报同样的错 。。。。。。。。。。。。。。 其实就是你代码的位置写错了 应该写在pc端的 你把代码写 ......
SELinux is disable处理
解决办法: 1、查看SELinux状态 sestatus 2、在ECS实例上运行以下命令,编辑SELinux的config文件。 sudo vi /etc/selinux/config 3、找到SELINUX=disabled字段,按i进入编辑模式,通过修改该参数来开启SELinux。 您可以根据实 ......
Redis过期删除策略
定时删除; 惰性删除; 定期删除; 定时删除策略是怎么样的? 定时删除策略的做法是,在设置 key 的过期时间时,同时创建一个定时事件,当时间到达时,由事件处理器自动执行 key 的删除操作。 定时删除策略的优点: 可以保证过期 key 会被尽快删除,也就是内存可以被尽快地释放。因此,定时删除对内存 ......
Redis事务
其实redis的事务是个假事务,没有实现原子性, 若要php支持事务,必须一起执行,其中incr会报错 $status = $redis->multi()->lPush($key1, '1123')->lPush($key2, '2123')->incr("age","age")->exec(); ......
Redis进阶 使用Lua编写Redis脚本
前面学习了Lua的基本语法,接下来是使用Lua编写脚本 1.可以使用redis.call来调用redis命令 使用redis.call会将redis命令返回的类型 转换成对应的Lua数据类型。 关系如下 与redis.call想类似的就是redis.pcall。 【redis.call与redis. ......
redis主从配置
先学一个高端linux指令: cat redis.conf | grep -v "^#" | grep -v "^$" > msconf/redis-master.conf -v 反向查找 "^#"以#开头的行 "^$"空行 将redis.conf去掉空行和以#开头的行,写入到msconf文件夹的r ......
redis哨兵
Redis 安装 1、上传 如下图:将redis-5.0.8.tar.gz包上传到目录:/apphome/下 2、解压 如下图:解压压缩文件,执行命令:tar -zxvf redis-5.0.8.tar.gz,解压后生成新的文件夹redis-5.0.8 3、编译安装 如下图:执行命令:make && ......
wsl docker 安装redis
wsl docker 安装redis 宿主机准备配置文件 redis.conf 根据需要修改配置/docker-project/redis/redis.conf, 例如如下开启远程连接访问redis bind 0.0.0.0 protected-mode no 启动命令 docker run --r ......
Sqoop连接数据库报错:Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
Sqoop连接数据库报错:Caused by: javax.net.ssl.SSLHandshakeException: No appropriate protocol的解决方法。 控制台报错: [root@bigdata1 sqoop-1.4.2.bin__hadoop-2.0.0-alpha]# ......
ORA-28365: wallet is not open
RAC 数据库启动遇到ORA-28365Oracle使用了TDE功能,加密了,没有正确打开wallet时会出现下面错误,打开钱包即可,以使用 alter system set encryption wallet open;命令完成。如果打开钱包时遇到任何问题,那么可以尝试使用 alter syste ......
后端技术:Redis进行数据缓存的两种方法
在fastapi项目中Redis进行数据缓存的两种不同的方法的demo 第一种方法:通过FastAPI应用状态 准备文件:models/redis.py为fastapi的数据库模型文件 import os import aioredis from aioredis import Redis asyn ......
nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMapping{property='name
org.mybatis.spring.MyBatisSystemException: nested exception is org.apache.ibatis.type.TypeException: Could not set parameters for mapping: ParameterMa ......
Redis进阶 Lua基本库
【String库】 1.获取长度,相当于# 2.大小写 相当于C#里面的 3.获取子字符串,注意下标从1开始 结尾默认数字是-1。负数指从后往前数 【table库】 ......
【Redis】应用[2]
1、缓存设计 Redis常用来做数据库的缓存,应用先到Redis读取数据,缓存不存在的话才会去访问数据库,拿到数据后将数据缓存在Redis中,这样后续请求可以直接命中缓存,减少访问数据库的次数。 1.1、缓存失效 缓存雪崩 通常缓存在Redis中的数据会设置过期时间,那么,当大量的缓存数据在同一时间 ......
06-redis的cluster集群
一、介绍 Redis 集群是一个可以在多个 Redis 节点之间进行数据共享的设施(installation)。 Redis 集群不支持那些需要同时处理多个键的 Redis 命令, 因为执行这些命令需要在多个 Redis 节点之间移动数据, 并且在高负载的情况下, 这些命令将降低 Redis 集群的 ......
07-Redis 多API开发实践
Redis提供了各类开发语言的API,方便开发语言连接使用Redis。 https://redis.io/clients 官方网站提供了不同开发语言的API程序。 网中,给我们提供了很多种Python连接redis的API,我们通常选择有“笑脸”并且带有“星号”的使用 这里我们推荐使用redis-p ......
05-redis-sentinel(哨兵)
一、redis-sentinel介绍 Redis-Sentinel是Redis官方推荐的高可用性(HA)解决方案,当用Redis做Master-slave的高可用方案时,假如master宕机了,Redis本身(包括它的很多客户端)都没有实现自动进行主备切换,而Redis-sentinel本身也是一个 ......
04-redis主从复制
一、主从复制特性 使用异步复制。 一个主服务器可以有多个从服务器。 从服务器也可以有自己的从服务器。 复制功能不会阻塞主服务器。 可以通过复制功能来让主服务器免于执行持久化操作,由从服务器去执行持久化操作即可 当配置Redis复制功能时,强烈建议打开主服务器的持久化功能。 否则的话,由于延迟等问题, ......
03-redis事务,锁和服务器管理命令
一、redis中的事务 redis中的事务跟关系型数据库中的事务是一个相似的概念,但是有不同之处。关系型数据库事务执行失败后面的sql语句不在执行,而redis中的一条命令执行失败,其余的命令照常执行。 redis中开启一个事务是使用multi,相当于begin\start transaction, ......
01-redis的安装和基本配置
一、redis简介 1、Redis是一款开源的,ANSI C语言编写的,高级键值(key-value)缓存和支持永久存储NoSQL数据库产品。 2、 Redis采用内存(In-Memory)数据集(DataSet) 。 3、支持多种数据类型。 4、运行于大多数POSIX系统,如Linux、*BSD、 ......
02-redis的持久化和数据类型
一、redis持久化 1.1 持久化类型 |持久化类型 | 介绍|优点|缺点 | | | | |-- |RDB持久化 | 可以在指定的时间间隔内生成数据集的时间点快照(point-in-time snapshot)。|速度快,适合于用做备份,主从复制也是基于RDB持久化功能实现的。|会有丢失部分数据 ......
redis安装
#!/bin/bash ############################################################## # File Name: install_redis.sh # Version: V1.0 # Author: junwang # Organizat ......
Redis设计与实现-15.复制
redis可以通过SLAVEOF命令去复制(同步)另一台服务器,例如: 当前有两台redis服务器其信息为: hostname ip port redis_1 127.0.0.1 6379 redis_2 127.0.0.1 12345 如果redis_2想要同步redis_1的内容,可以在redi ......
Redis哨兵内存碎片化故障处理
背景介绍 近期研发同学反馈业务响应波动厉害,怀疑是Redis操作key比较慢的缘故。由于该环境是我一手安装部署的,我将进行问题排查。 Redis环境以及业务环境都已经使用Prometheus进行了监控。 环境说明 我们有两套一样的环境来服务不同的客户,另外一套环境中业务一直平稳运行,Redis并没有 ......
PyQt报错:Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framework, as 'headless' is currently running
PyQt报错:Cannot load backend 'Qt5Agg' which requires the 'qt5' interactive framework, as 'headless' is currently running 问题描述 在远程链接ubuntu虚拟机进行开发时,报错。 解决 ......
Windows下的Redis启动报错Redis service failed to start解决方法
报错原因:Redis服务没有找到log文件 解决方法 在Redis安装目录下打开redis.windows-service.conf文件 搜索logfile,找到logfile存放目录,一般默认为Logs/redis_log.txt 在Redis安装目录创建Logs文件夹,在Logs文件夹下创建re ......