redis
文章平均质量分 64
主要分享关系redis的文章
luck_man911
每个人首先都应该有自己的方向
展开
-
操作系统swap对redis的性能的影响以及解决方案
目录一、操作系统SWAP 二、Redis为什么会触发swap 三、查看Redis swap情况 四、解决Redis swap一、操作系统SWAPswap是操作系统的行为,是指当内存不足时,操作系统将内存的数据拿出一部分放入磁盘,数据从内存和磁盘换入换出的机制,涉及到磁盘的IO。一旦发生swap,内存对应的进程的性能都会受到影响,因为硬盘的访问速度远远小于内存。redis作为内存数据库,如果redis对应的内存发生了swap,那么redis的性能会受到极大的影响。二、Red...转载 2021-03-10 14:45:39 · 642 阅读 · 0 评论 -
用elastic stack来分析下你的redis slowlog
redis是目前最流行的 NoSQL 内存数据库,然而如果在使用过程中出现滥用、乱用的情况,很容易发生性能问题,此时我们就要去关注慢查询日志,本文尝试给大家介绍一种通过 elastic stack 来快速分析 redis 慢查询日志的方法,希望能给大家提供帮助。redis slowlog简介redis是目前最流行的缓存系统,因其丰富的数据结构和良好的性能表现,被各大公司广泛使用。尽管redis性能极佳,但若不注意使用方法,极容易出现慢查询,慢查询多了或者一个20s的慢查询会导致操作队列(redis是转载 2020-08-13 11:30:17 · 283 阅读 · 0 评论 -
Redis 性能问题排查:slowlog 和排队延时
一、Redis Slowlog介绍Redis slowlog是排查性能问题关键监控指标。它是记录Redis queries运行时间超时特定阀值的系统。这类慢查询命令被保存到Redis服务器的一个定长队列,最多保存slowlog-max-len(默认128)个慢查询命令。当慢查询命令达到128个时,新产生的慢查询被加入前,会从队列中删除最旧的慢查询命令。1.1 Redis Slowlog的配置redis slowlog通过2个参数配置管理,默认命令耗时超过10毫秒,就会被记录到慢查询日志队列.转载 2020-05-11 23:16:47 · 2573 阅读 · 0 评论 -
Redis bgsave 线上分析
redis在做RDB(快照)持久化时会fork一个子进程出来,把内存中的数据持久化到磁盘的rdb文件。转载 2020-05-11 00:25:48 · 1546 阅读 · 0 评论 -
redis Background saving terminated by signal 9
1、问题现象24163:M 10 May 2020 22:27:22.177 * Background saving started by pid 2424824163:M 10 May 2020 22:27:22.288 # Background saving terminated by signal 9redis启动后,linux内存redis info 内存信息redis日志2、分析3、解决方案...原创 2020-05-10 23:57:11 · 3320 阅读 · 0 评论 -
Redis持久化的原理及优化
Redis提供了将数据定期自动持久化至硬盘的能力,包括RDB和AOF两种方案,两种方案分别有其长处和短板,可以配合起来同时运行,确保数据的稳定性。RDB保存数据快照至一个RDB文件中,用于持久化。RDB操作和Mysql Dump相似。执行方式save。同步操作,会阻塞Redis。bgsave。调用linux的fork(),然后使用新的线程执行复制。但是fork期间也会阻塞Redis,但是阻塞时间通常很短。自动保存。Redis配置文件中设置了自动保存的触发机制,可以自定义修改,运行原理同bgs转载 2020-05-09 15:41:29 · 223 阅读 · 0 评论 -
Redis配置优化和使用
一、redis编码使用优化1、尽量使用短的key当然在精简的同时,不要为了key的“见名知意”。对于value有些也可精简,比如性别使用0、1。2、避免使用keys * keys *, 这个命令是阻塞的,即操作执行期间,其它任何命令在你的实例中都无法执行。当redis中key数据量小时到无所谓,数据量大就很糟糕了。所以我们应该避免去使用这个命令。可以去使用SCAN,来代替。3...转载 2020-05-07 23:38:40 · 937 阅读 · 0 评论 -
一次redis集群连接数占满问题的排查
现象某系统的tomcat,收不到上游系统请求,日志停止不滚动,进程还存活(俗称的tomcat假死)。分析排查应用排查1、登录应用jstack -l pid > jstack.txt,查看堆栈信息,发现大量的连redis集群的BLOCKED信息:"http-nio-9080-exec-200" #287 daemon prio=5 os_prio=0 tid=0x0000...转载 2020-05-04 16:41:09 · 5250 阅读 · 1 评论 -
Redis之Pipeline(管道)
1、Pipeline定义管道(pipeline)可以一次性发送多条命令并在执行完后一次性将结果返回,pipeline 通过减少客户端与 redis 的通信次数来实现降低往返延时时间,而且 Pipeline 实现的原理是队列,而队列的原理是时先进先出,这样就保证数据的顺序性。 Pipeline 的默认的同步的个数为53个,也就是说 arges 中累加到53条数据时会把数据提交。其过程如下图所示:...原创 2020-05-04 11:08:00 · 347 阅读 · 0 评论 -
Could not connect to Redis at 127.0.0.1:13141: Cannot assign requested address
使用redis-benchmark做基准测试时提示错误:Could not connect to Redis at 127.0.0.1:13141: Cannot assign requested address测试命令为: ./redis-benchmark -h 127.0.0.1 -p 13141 -a iDvKW33333 -c 9000 -n 500000 -d 50 ...原创 2020-05-04 10:41:06 · 1109 阅读 · 0 评论 -
Redis性能基准测试
https://blog.csdn.net/nightelve/article/details/16854223原创 2020-05-05 00:07:57 · 308 阅读 · 0 评论 -
redis常见异常
一、连接池1、maxTotalJedisPool默认的maxTotal=8,下面的代码从JedisPool中借了8次Jedis,但是没有归还,当第9次(jedisPool.getResource().ping())执行命令如下:Jedis jedis = null;try { jedis = jedisPool.getResource(); //具体的命令 ...原创 2020-05-03 02:12:51 · 537 阅读 · 0 评论 -
Redis开发规范
一、键值设计1. key名设计(1)【建议】: 可读性和可管理性以业务名(或数据库名)为前缀(防止key冲突),用冒号分隔,比如业务名:表名:idugc:video:1(2)【建议】:简洁性保证语义的前提下,控制key的长度,当key较多时,内存占用也不容忽视,例如:user:{uid}:friends:messages:{mid}简化为u:{uid}:fr:m:{mi...转载 2020-05-03 01:51:31 · 84 阅读 · 0 评论 -
Redis问题:ERR max number of clients reached
redis高并发下,可能有些连接没有释放,导致连接数耗尽,会提示ERR max number of clients reached这个时候通过命令查看客户端使用连接数[root@home-server-60 bin]# ./redis-cli -h 192.168.0.60 -p 6379192.168.0.60:6379> info Clients# Clientsc...原创 2020-05-03 01:30:06 · 2843 阅读 · 0 评论 -
redis info查看信息
info命令可以用于单机或者redis集群下查看实例的信息。包含server ,client,memory,Persistence,Stats,Replication,CPU,Commandstats ,Cluster# Serverredis_version:5.0.8redis_git_sha1:00000000redis_git_dirty:0redis_build_id...原创 2020-05-02 21:59:37 · 1193 阅读 · 0 评论 -
Redis (三)雪崩和穿透
一、缓存和数据库间数据一致性问题二、雪崩三、穿透原创 2020-05-11 00:18:33 · 98 阅读 · 0 评论