Redis调优-BigKey如何处理?(4)
Redis调优-BigKey如何处理
注意:对线上实例进行bigkey扫描时,Redis 的OPS(Operation Per Second 每秒操作次数)会突增,扫描过程最好控制一下扫描的频率,指定-i 参数,命令:
redis-cli -h 127.0.0.1 -p 6379 --bigkeys -i 1.它表示扫描过程中每次扫描后休息的时间间隔,单位是秒。
但是,如果想要获得一个 key 和它的值在 RAM 中所占用的字节数。需要使用以下命令:
redis 127.0.0.1:6379> MEMORY USAGE key [SAMPLES count]
例如:
127.0.0.1:6379> MEMORY usage key1000000
(integer) 56
当我们发现生产的大Key后,那么如何进行删除?
如何处理大Key?
我们按照不同数据类型,给出以下命令:
- String类型:
DEL/UNLINK
删除Redis中String类型的大Key,你可以使用DEL命令:
DEL key [key ...]
如果你使用的是Redis的集群模式,可以使用redis-cli的-c选项来启用集群模式,并执行删除命令。
redis-cli -c DEL key_name
由于DEL命令会对Redis服务器造成阻塞,可以考虑使用UNLINK命令。Redis 4.0及以上版本中可用,它会异步地删除Key,避免阻塞。
UNLINK key [key ...]
注意: 即使使用UNLINK命令,删除非常大的Key仍然可能会对Redis服务器造成一些影响,因为它仍然需要释放内存。
因此,在生产环境中执行此类操作时,请务必谨慎,并考虑在低峰时段进行,同时监控Redis的性能指标。
- Hash类型:
HSCAN + HDEL
HSCAN key cursor [MATCH pattern] [COUNT count]
127.0.0.1:6379> HSET myhash field1 value1
(integer) 1
127.0.0.1:6379> HSET myhash field2 value2
(integer) 1
127.0.0.1:6379> HSET myhash field3 value3
(integer) 1
127.0.0.1:6379> HSCAN myhash 0 MATCH * COUNT 10
1) "0"
2) 1) "field1"
2) "value1"
3) "field2"
4) "value2"
5) "field3"
6) "value3"
127.0.0.1:6379> HDEL myhash field2
(integer) 1
127.0.0.1:6379> HGETALL myhash
1) "field1"
2) "value1"
3) "field3"
4) "value3"
- List类型:
LTRIM渐进式删除
LTRIM key start stop
redis> RPUSH mylist "one"
(integer) 1
redis> RPUSH mylist "two"
(integer) 2
redis> RPUSH mylist "three"
(integer) 3
redis> LTRIM mylist 1 -1
"OK"
redis> LRANGE mylist 0 -1
1) "two"
2) "three"
redis>
- Set类型:使用
sscan每次获取部分元素,再使用srem命令删除每个元素
127.0.0.1:6379> SADD myset e1 e2 e3
(integer) 0
127.0.0.1:6379> SSCAN myset 1
1) "0"
2) 1) "e3"
127.0.0.1:6379> SMEMBERS myset
1) "e2"
2) "e1"
3) "e3"
127.0.0.1:6379> SREM myset e2
(integer) 1
127.0.0.1:6379> SMEMBERS myset
1) "e1"
2) "e3"
127.0.0.1:6379>
相关阅读
-
跑马灯代码大全 html跑马灯文字代码
全面为您解析跑马灯代码大全的介绍,下面IT袋网为您详细介绍 跑马灯(Marquee)效果是一种使文本或图片在页面上滚动的动画效果。 不念提供了一些跑马灯效果的代码示例,分别使用HTML、J
-
网站建设制作中心 创建网站免费注册
如果想知道网站建设制作中心和创建网站免费注册的内容,具体详情如下: 在互联网时代,很多软件都把用户习惯培养起来了。用户对大部分软件的使用都有一种“无师自通”的感觉。但是在
-
lombok详解 深入解析Lombok框架
小编为你介绍lombok详解的电脑小知识,一起来了解了解吧。 lombok是一个开源的代码生成库,能以简单的注解形式来简化Java类中的大量样板代码,提高开发人员的开发效率。 例如开发中经常需
-
电脑c盘满了怎么清理? 电脑C盘空间不足怎么办
IT袋网网为你介绍电脑c盘满了怎么清理方面的内容,下面小编为您详细解答 电脑C盘空间不足时,您可能会遇到许多问题,包括电脑运行速度减慢,无法安装新应用程序,甚至系统崩溃。 因此


