redis如何清除所有的key

redis比memcache好的地方之一,如果memcache,恐怕就得关掉重启了。
1 使用cli
FLUSHDB 清除一个数据库,FLUSHALL清除整个redis数据。

2 使用shell
redis-cli
keys  "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL
-eq -1 ]; then echo "Del $LINE"; RES=`redis-cli del $LINE`; fi; done;
删除 3600秒之后过期的
redis-cli
keys  "*" | while read LINE ; do TTL=`redis-cli ttl $LINE`; if [ $TTL
-ge  3600 ]; then echo "Del $LINE"; RES=`redis-cli del $LINE`; fi; done;
删除某些前缀的

redis-cli KEYS "126.com*" | xargs redis-cli DEL

3 使用lua脚本

删除所有key

EVAL "return redis.call(‘del‘, unpack(redis.call(‘keys‘, ARGV[1])))" 0 *

删除某些key
EVAL "return redis.call(‘del‘, unpack(redis.call(‘keys‘, ARGV[1])))" 0 126.com*
时间: 2024-08-11 05:28:42

redis如何清除所有的key的相关文章

Redis数据清除问题

Redis中数据清除可以分为两种方式 手动清除:指定要清除的key,通过delete命令即可清除 自动清除:使用Redis提供的数据过期策略 Redis数据过期策略 noeviction:达到内存限制时返回报错 allkeys-lru:对所有的key采用 (LRU) 算法移除. volatile-lru: 仅对设置过期时间的key采用(LRU)算法移除. allkeys-random: 对所有的key随机选择移除. volatile-random: 仅对设置过期时间的key随机选择移除. vol

Redis客户端之Jedis(Key、String、Set、List、pub/sub、cluster、pool、pipleline)

原文链接:http://blog.csdn.net/xyang81/article/details/51918129 环境: OS:CentOS7 64位 server版本:Redis 3.2.0 client 版本:Jedis 2.8.0 在Maven中引用jedis的jar: <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactI

Redis Sentinel环境下的Key过期事件消息订阅

一.Redis Sentinel Sentinel是Redis 2.8之后官方发布的HA解决方案,通过Sentinel可以保障整个Redis系统的高可用性.当Redis系统中的Master在异常情况下停止服务后,若干Sentinel会及时察觉并主观判断Master down(Subjectively Down),并且随后由一定数量的Sentinel共同确定Master确实客观已down(Objectively Down),这个时候Sentinel们会选举出一个新的Master继续提供服务.Red

redis 报Operation against a key holding the wrong kind of value警告的解决方法

WRONGTYPE Operation against a key holding the wrong kind of value github:https://github.com/antirez/redis/issues/2864 原因为redis存在一个同key但是类型不同的数据,在插入新类型数据时需要先删除已有的key值.

Redis之清除所有缓存

方法: /// <summary> /// 清除redis所有缓存 /// </summary> /// <param name="redisUrl"></param> public static void RemoveAllRedisCache(string redisUrl) { using (RedisClient redisClient = new RedisClient(redisUrl)) using (var redisMa

redis和memcache列出所有key

//redis $redis = new Redis(); $redis->connect("host", "port"); $redis->select(0); //redis默认有0-15 16个数据库 此处选择0 $redis->dbsize(); //返回有多少个key $keys = $redis->keys("*"); //使用通配符列出所有key var_dump($keys); //memcache $se

Redis:多线程修改同一个Key使用watch+事务(mutil)实现乐观锁

本篇文章是通过watch(监控)+mutil(事务)实现应用于在分布式高并发处理等相关场景.下边先通过redis-cli.exe来测试多个线程修改时,遇到问题及解决问题. 高并发下修改同一个key遇到的问题: 1)定义一个hash类型的key,key为:lock_test,元素locker的值初始化为0. 2)实现高并发下对locker元素的值递增:定义64个多线程,并发的对lock_test元素locker的值进行修改. package com.dx.es; import java.util.

直接在安装了redis的Linux机器上操作redis数据存储类型--对key的操作

一.概述: 前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List.Set.Hashes和Sorted-Set.这些命令都具有一个共同点,即所有的操作都是针对与Key关联的Value的.而该篇博客将主要讲述与Key相关的Redis命令.学习这些命令对于学习Redis是非常重要的基础,也是能够充分挖掘Redis潜力的利器. 二.相关命令列表: 命令原型 时间复杂度 命令描述 返回值 KEYS pattern O(N) 时间复杂度中的N表示数据库中Key的数量.获取所有匹

Redis入门(三)-Redis的安装及操作key的命令介绍

前两节对Redis做了一些详细的介绍,那么接下来开始我们就正式进入Redis的学习阶段. 安装Redis Windows下安装redis非常方便, 下载压缩包解压即可使用. 链接:https://pan.baidu.com/s/1uvneRgpfiS35qtAdkGKfIQ 提取码:qcmx 解压后就是这样 然后双击 redis-server.exe 启动redis服务端,看到如下界面就是启动成功了 化红框的部分分别是redis的版本号,和占用的端口号(redis默认占用6379端口,为什么是6