redis怎么查询key和删除缓存

redis怎么查询key和删除缓存,第1张

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`fidone

删除 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`fidone

删除某些前缀的

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

3 使用lua脚本

删除所有keyEVAL "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*

//DEL

# 情况1: 删除单个key

$redis->set('myname','ikodota')

echo $redis->get('myname').'<br>'# 返回:ikodota

$redis->del('myname')# 返回 TRUE(1)

var_dump($redis->get('myname'))# 返回 bool(false)

# 情况2: 删除一个不存在的key

if(!$redis->exists('fake_key')) # 不存在

var_dump($redis->del('fake_key'))# 返回 int(0)

# 情况3: 同时删除多个key

$array_mset=array('first_key'=>'first_val',

'second_key'=>'second_val',

'third_key'=>'third_val')

$redis->mset($array_mset)#用MSET一次储存多个值

$array_mget=array('first_key','second_key','third_key')

var_dump($redis->mget($array_mget))#一次返回多个值 //array(3) { [0]=>string(9) "first_val" [1]=>string(10) "second_val" [2]=>string(9) "third_val" }

$redis->del($array_mget)#同时删除多个key

var_dump($redis->mget($array_mget))#返回 array(3) { [0]=>bool(false) [1]=>bool(false) [2]=>bool(false) }


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6758466.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-27
下一篇 2023-03-27

发表评论

登录后才能评论

评论列表(0条)

保存